2017 © Pedro Peláez
 

library metable

Add metadata to your eloquent models

image

freshwork/metable

Add metadata to your eloquent models

  • Friday, October 7, 2016
  • by freshwork
  • Repository
  • 1 Watchers
  • 4 Stars
  • 30 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 8 Versions
  • 15 % Grown

The README.md

Freshwork Metable

Install

composer require freshwork/metable

Add Freshwork\Metable\MetableServiceProvider to your app.php config file, (*1)

'providers' => [
    ...
    Freshwork\Metable\MetableServiceProvider::class
]

Run laravel migrations to install metas table on your database, (*2)

php artisan migrate

Usage

Add Freshwork\Metable\Traits\Metable trait to your eloquent model, (*3)

``` php namespace App;, (*4)

use Freshwork\Metable\Traits\Metable;, (*5)

class Post extends Model { use Metable; ... }, (*6)

#### Add meta
By the moment, addMeta inmediately executes a sql query to save.

```php
$post->addMeta('key', 'value');
$post->addMeta('foo', ['bar', 'baz']); //saved as json
$post->addMeta('third', 'value1');
$post->addMeta('third', 'value2');

Get meta

Remember that you can add multiple meta for the same key, so by default, getMeta() returns an array, even if there are just one value for that key. You can use the single param to get the first value directly, (*7)

getMeta($key, $single = false, $cacheAll = true), (*8)

Eager loading: If $cacheAll is set to true, when you getMeta you retrieve all the metas of the model, so the next getMeta call don't touch the database., (*9)

$post->getMeta('key'); // ['value']
$post->getMeta('foo'); // [ ['bar', 'baz'] ]
$post->getMeta('third'); // [ 'value1', 'values2' ]

//If you want to get the first element of the array
$post->getMeta('key', true); // 'value'
$post->getMeta('foo', true); // ['bar', 'baz']
$post->getMeta('third', true); // 'value1'

Get all meta

//Load $post->metadata variable
$post->loadMeta();

//Then you can 
dd($post->metadata->key); //['value']

Remove meta

//Load $post->metadata variable
$post->removeMeta('key'); //remove all the ocurrences of metas with that key in the current model

The Versions

07/10 2016

dev-master

9999999-dev

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito

07/10 2016

0.1.5

0.1.5.0

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito

07/10 2016

0.1.4

0.1.4.0

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito

07/10 2016

0.1.3

0.1.3.0

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

  • laravel/support ~5.2

 

by Gonzalo De Spirito

07/10 2016

0.1.2

0.1.2.0

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito

07/10 2016

0.1.1

0.1.1.0

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito

07/10 2016

0.1

0.1.0.0

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito

07/10 2016

dev-develop

dev-develop

Add metadata to your eloquent models

  Sources   Download

MIT

The Requires

 

by Gonzalo De Spirito