splitstack/laravel-metamon

A Laravel package for handling model metadata with role-based access control

1.0.0 2025-04-01 00:23 UTC

This package is auto-updated.

Last update: 2025-05-31 00:50:45 UTC


README

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.