A package for attaching arbitrary data to Eloquent models
plank/laravel-metable is a Laravel package for a package for attaching arbitrary data to eloquent models.
It currently has 285 GitHub stars and 802.513 downloads on Packagist (latest version 6.3.1).
Install it with composer require plank/laravel-metable.
Discover more Laravel packages by plank
or browse all Laravel packages to compare alternatives.
Last updated
Laravel-Metable is a package for easily attaching arbitrary data to Eloquent models.
Attach some metadata to an eloquent model
$post = Post::create($this->request->input());
$post->setMeta('color', 'blue');
Query the model by its metadata
$post = Post::whereMeta('color', 'blue');
Retrieve the metadata from a model
$value = $post->getMeta('color');
composer require plank/laravel-metable
config/app.php. In Laravel versions 5.5 and beyond, this step can be skipped if package auto-discovery is enabled.'providers' => [
...
Plank\Metable\MetableServiceProvider::class,
...
];
config/metable.php) of the package using artisan.php artisan vendor:publish --provider="Plank\Metable\MetableServiceProvider"
php artisan migrate
Plank\Metable\Metable trait to any eloquent model class that you want to be able to attach metadata to.Note: If need a more generic way to reference different Metable Model classes, you can optionally apply the Plank\Metable\MetableInterface to your models.
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Plank\Metable\Metable;
class Post extends Model
{
use Metable;
//...
}
The full documentation is available on ReadTheDocs.
This package is released under the MIT license (MIT).
Plank is a web development agency based in Montreal, Canada.