Meta Manager by Fady Mondy
CommunityConvert any model on your app to pluggable model using Meta and get ready to use relation manager on FilamentPHP panel
Author:
Fady Mondy
Package health
Automated checks of this plugin's Composer package
15 checks
- Failed: GitHub Actions pinned to SHA — View details on Plumb
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Warning: Dependabot or Renovate configured — Updater does not cover Composer, which has a committed lockfile.
-
Failed:
Dependency update cooldown configured
—
No cooldown configured in
.github/dependabot.yml. View details on Plumb - Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 0 days ago; last release 0 days ago.
-
Failed:
composer.lock not committed by library
—
composer.lockis present in the released dist archive. View details on Plumb - Failed: Dist archive is lean — View details on Plumb
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation
- Screenshots
- Compatibility
- Installation
- Usage
- Use Global Hepler
- Disable Create New meta
- Publish Assets
- Testing
- Code Style
- PHPStan
- Other Filament Packages

Convert any model on your app to pluggable model using Meta and get ready to use relation manager on FilamentPHP panel
#Screenshots

#Compatibility
| Package version | Filament | Laravel | PHP |
|---|---|---|---|
| 5.x | 5.x | 12.x, 13.x | 8.2+ |
| 4.x | 4.x | 11.x, 12.x | 8.2+ |
#Installation
composer require tomatophp/filament-meta:^5.0
after install your package please run this command
php artisan filament-meta:install
on your model you want to use meta on it, just add this trait
use TomatoPHP\FilamentMeta\Traits\HasMeta;
class User extends Model
{
use HasMeta;
}
now on your Resource you can add meta relation manager like this
use TomatoPHP\FilamentMeta\Filament\RelationManager\MetaRelationManager;
public static function getRelations(): array
{
return [
MetaRelationManager::class
];
}
#Usage
meta trait add ->meta() method to your model that you can use to get meta data
$user = User::find(1);
$user->meta('key');
if the key not exists it will create it for you, if you like to set data it's very easy
$user = User::find(1);
$user->meta(key: 'key',value: 'value');
if you like to set data null to selected key just pass null as value
$user = User::find(1);
$user->meta(key: 'key',value: 'null');
the meta accepts array as value
$user = User::find(1);
$user->meta(key:'key',value: ['value' => 'value']);
you can set a type for any meta like this
$user = User::find(1);
$user->meta(key:'key',value: ['value' => 'value'], type: 'json');
if you like to make the value just string without json input to be indexed you can use key-value type
$user = User::find(1);
$user->meta(key:'key',value: ['value' => 'value'], type: 'key-value');
then your data will be saved to column key_value not in value column
you can make a time series of meta by set a date and time on your meta
$user = User::find(1);
$user->meta(key:'key',value: ['value' => 'value'], date: '2023-10-01', time: '12:00:00');
if you use the meta for api response or save form data you can have a response and it can be anything you like be default it's ok
$user = User::find(1);
$user->meta(key:'key',value: ['value' => 'value'], response: 'ok');
#Use Global Hepler
you can use Meta without any users or models, just use this helper
meta(key: 'key',value: 'value');
it will return the value of the key if exists, otherwise it will create it for you
#Disable Create New meta
publish your config using this command
php artisan vendor:publish --tag="filament-meta-config"
then go to config/filament-meta.php and set create to false
return [
'create' => false
];
#Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-meta-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-meta-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-meta-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-meta-migrations"
#Testing
if you like to run PEST testing just use this command
composer test
#Code Style
if you like to fix the code style just use this command
composer format
#PHPStan
if you like to check the code by PHPStan just use this command
composer analyse
#Other Filament Packages
Checkout our Awesome TomatoPHP
The author
Applied AI engineer and fractional CTO from Cairo, Egypt. Creator of TomatoPHP, 50+ open-source Filament plugins for building full apps (CMS, e-commerce, accounts, invoices, SaaS panels), and of Laravilt, an admin panel framework for Laravel on Inertia.
From the same author
Menu Generator
Menu view generator using view component
Author:
Fady Mondy
Translations Manager
Manage your translation with DB and cache, you can scan an collect translation strings like `trans()` and `__()`, and translate them using UI
Author:
Fady Mondy
Sticky Notes
Add Sticky Notes to your dashboard with tons of options and style.
Author:
Fady Mondy
Translation Component
Translation Component as a key/value to use it with Spatie Translatable FilamentPHP Plugin
Author:
Fady Mondy
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese
Custom Fields
Eliminate custom field migrations forever. Let your users create and manage form fields directly in Filament admin panels with 20+ built-in field types, validation, and zero database changes.
Relaticle