laravel-metamon maintained by splitstack
Description
A Laravel package for handling model metadata with role-based access control
Author
Last update
2025/04/01 02:23
(dev-main)
License
Downloads
374
Metamon
A Laravel package for handling model metadata with role-based access control.
Installation
You can install the package via composer:
composer require splitstack/laravel-metamon
Usage
- Add the HasMetadata trait to your model:
use Splitstack\Metamon\HandlesMetadata;
class YourModel extends Model
{
use HandlesMetadata;
}
- Publish the config file:
php artisan vendor:publish --tag="metamon-config"
- Make sure your model has a
metadatacolumn (JSON type):
$table->json('metadata')->nullable();
Usage Examples
// Get metadata
$model->meta('key');
$model->getMetadata('key', 'default');
$model->getMetadata('nested.key');
$model->meta()->key;
// Set metadata
$model->meta('key', 'value');
$model->setMetadata('key', 'value', 'admin');
// Check if metadata exists
$model->hasMetadata('key');
// Remove metadata
$model->forgetMetadata('key');
// Query by metadata
YourModel::whereMetadata('key', 'value')->get();
Testing
composer test
License
The MIT License (MIT). Please see License File for more information.