Looking to hire Laravel developers? Try LaraJobs

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
Links
Downloads
374

Comments
comments powered by Disqus

Metamon

Tests PHP Version Laravel Version Total Downloads

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

  1. Add the HasMetadata trait to your model:
use Splitstack\Metamon\HandlesMetadata;

class YourModel extends Model
{
    use HandlesMetadata;
}
  1. Publish the config file:
php artisan vendor:publish --tag="metamon-config"
  1. 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.