Skip to content

bfg-s/bless_model

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BlessModel

The purpose of this package is to save, update, delete, force delete, and restore data using a recursive array. It understands both an associative array for working with one record, and with a dataset for working with several records at once.

Installation

You can install the library using composer:

composer require bfg/bless_model

Beginning of work

First, you need to design your models and their relationships.

How to use

For convenience, the main method has been brought into the alias BlessModel. All you need to do is call the do method.

\BlessModel::do(\App\Models\User::class, []);

Let's imagine that our user model has the following relationships:

profile - hasOne

class Profile extends \Illuminate\Database\Eloquent\Model {
   
    protected $fillable = ["first_name","last_name","age","about"];
}

roles - belongsToMany

class Role extends \Illuminate\Database\Eloquent\Model {
   
    protected $fillable = ["slug","name"];
}

posts - hasMany

class Post extends \Illuminate\Database\Eloquent\Model {
   
    protected $fillable = ["subject","text"];
}

commentaries - morphMany

class Commentary extends \Illuminate\Database\Eloquent\Model {
   
    protected $fillable = ["text"];
}

And in order to fill in this data, you need to do the following:

\BlessModel::do(\App\Models\User::class, [
    "name" => "DoctorWho",
    "email" => "user@test.com",
    "profile" => [
        "first_name" => "Doctor",
        "last_name" => "Who",
        "age" => 2200,
        "about" => "An eccentric alien traveler of a great mind who fights injustice."
    ],
    "role" => [
        "slug" => "time_lord",
        "name" => "Time Lord",
    ],
    "posts" => [
        [
            "subject" => "About TARDIS",
            "text" => "The TARDIS (Time And Relative Dimension In Space) is a time machine and spacecraft that appears in the British science fiction television series Doctor Who and its various spin-offs."
        ]       
    ],
    "commentaries" => [
        [
            "text" => "Butterflies are cool!"
        ],
        [
            "text" => "Yowzah!"
        ],
        [
            "text" => "Geronimo!"
        ]
    ]
]);

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages