Looking to hire Laravel developers? Try LaraJobs

laravel-eloquent-meta maintained by boxed-code

Description
Meta data framework for Laravel's eloquent models.
Author
Last update
2016/02/16 17:14 (dev-master)
License
Links
Downloads
58

Comments
comments powered by Disqus

#Eloquent Meta#

Eloquent meta provides an easy way to implement schemaless meta data stores for Eloquent models.

Scrutinizer Code Quality Code Coverage Build Status

##Installation##

Add the package via composer:

composer require boxed-code/laravel-eloquent-meta

then add the following line to the providers key within your config/app.php file:

BoxedCode\Eloquent\Meta\MetaServiceProvider::class

You can then create a meta table migration using the artisan command:

php artisan make:meta-migration

and then call migrate

php artisan migrate

##Basic Usage##

There are two main methods of enabling a meta store on your models:

###Using the Metable trait### The Metable trait adds the basic meta store relation to your model so that it can be accessed like:

class MyModel extends Model
{
    use Metable;
}

...

$model = new MyModel();

// Access via magic accessors on the meta collection.

$model->meta->foo = 'bar';

echo $model->meta->foo; // prints 'bar'

// Access via the collection

$item = $model->meta->whereKey('foo')->first();

echo $item; // prints 'bar'

###Using the FluentMeta trait### The FluentMeta trait enables meta access on the model directly like:


use BoxedCode\Eloquent\Meta\FluentMeta;
use Illuminate\Database\Eloquent\Model;

class MyModel extends Model
{
    use FluentMeta;
}

...

$model = new MyModel();

// Access via magic accessors on the model.

$model->foo = 'bar';

echo $model->foo; // prints 'bar'

// Access via the collection

$item = $model->meta->whereKey('foo')->first();

echo $item; // prints 'bar'

##License## See the attached license file.