splitstack / laravel-metamon
A Laravel package for handling model metadata with role-based access control
1.0.0
2025-04-01 00:23 UTC
Requires
- php: ^8.1
- illuminate/database: ^9.0|^10.0|^11.0|^12.0
- illuminate/support: ^9.0|^10.0|^11.0|^12.0
Requires (Dev)
- orchestra/testbench: ^8.31
- phpunit/phpunit: ^10.5
README
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
metadata
column (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.