Metadata for your Eloquent model
You can install the package via composer:
composer require appstract/laravel-meta
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 a table named metas
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->getMetaValue('someKey');
$book->hasMeta('someKey');
$book->updateMeta('someKey', 'anotherValue');
$book->addOrUpdateMeta('someKey', 'someValue');
$book->deleteMeta('someKey');
$book->getAllMeta();
$book->deleteAllMeta();
$ composer test
Contributions are welcome, thanks to y'all :)
Appstract is a small team from The Netherlands. We create (open source) tools for webdevelopment and write about related subjects on Medium. You can follow us on Twitter, buy us a beer or support us on Patreon.
The MIT License (MIT). Please see License File for more information.