Metadata for your Eloquent model
You can install the package via composer:
composer require appstract/laravel-meta
Then add the ServiceProvider to your config/app.php
file:
'providers' => [
...
Appstract\Meta\MetaServiceProvider::class
...
]
By running php artisan vendor:publish --provider="Appstract\Meta\MetaServiceProvider"
in your project all files for this package will be published. For this package, it's only a migration. Run php artisan migrate
to migrate the table. There will now be an meta
table in your database.
You can easily add Meta to an Eloquent model. Just add this to your model:
use Appstract\Meta\Metable;
class Book extends Model
{
use Metable;
}
Then you can get, add, update and delete meta to the model.
$book = Book::find(1);
$book->addMeta('someKey', 'someValue');
$book->getMeta('someKey');
$book->updateMeta('someKey', 'anotherValue');
$book->deleteMeta('someKey');
$book->getAllMeta();
$book->deleteAllMeta();
$ composer test
Contributions are welcome, thanks to y'all :)
Appstract is a small team from The Netherlands. <3 Laravel, Vue and other awesome tools.
Would be awesome if you would buy us a beer! Or a lot of beer :)
The MIT License (MIT). Please see License File for more information.