PHPackages                             tomatophp/filament-meta - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. tomatophp/filament-meta

ActiveLibrary[Admin Panels](/categories/admin)

tomatophp/filament-meta
=======================

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

v4.0.0(7mo ago)163213[4 PRs](https://github.com/tomatophp/filament-meta/pulls)MITPHPPHP ^8.2|^8.3|^8.4CI passing

Since Nov 4Pushed 1mo ago1 watchersCompare

[ Source](https://github.com/tomatophp/filament-meta)[ Packagist](https://packagist.org/packages/tomatophp/filament-meta)[ GitHub Sponsors](https://github.com/fadymondy)[ RSS](/packages/tomatophp-filament-meta/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (14)Versions (9)Used By (0)

[![Screenshot](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/fadymondy-tomato-meta.jpg)](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/fadymondy-tomato-meta.jpg)

Filament Meta Manager
=====================

[](#filament-meta-manager)

[![Tests](https://github.com/tomatophp/filament-meta/actions/workflows/tests.yml/badge.svg)](https://github.com/tomatophp/filament-meta/actions/workflows/tests.yml)[![PHP Code Styling](https://github.com/tomatophp/filament-meta/actions/workflows/fix-php-code-styling.yml/badge.svg)](https://github.com/tomatophp/filament-meta/actions/workflows/fix-php-code-styling.yml)[![Dependabot Updates](https://github.com/tomatophp/filament-meta/actions/workflows/dependabot/dependabot-updates/badge.svg)](https://github.com/tomatophp/filament-meta/actions/workflows/dependabot/dependabot-updates)[![Latest Stable Version](https://camo.githubusercontent.com/d096d55f3c39fadfc428213db68c578f464c89e379e905074bdeeeb6c7278f95/68747470733a2f2f706f7365722e707567782e6f72672f746f6d61746f7068702f66696c616d656e742d6d6574612f76657273696f6e2e737667)](https://packagist.org/packages/tomatophp/filament-meta)[![License](https://camo.githubusercontent.com/38623bcb944d7417bfaf00b7c3f2f972033cfae1e044fdfdbe6860552e9a117c/68747470733a2f2f706f7365722e707567782e6f72672f746f6d61746f7068702f66696c616d656e742d6d6574612f6c6963656e73652e737667)](https://packagist.org/packages/tomatophp/filament-meta)[![Downloads](https://camo.githubusercontent.com/c06029699e0d5f074bf8852c1b64981ee2b5da1cf614fc28e7fb395f6c22318b/68747470733a2f2f706f7365722e707567782e6f72672f746f6d61746f7068702f66696c616d656e742d6d6574612f642f746f74616c2e737667)](https://packagist.org/packages/tomatophp/filament-meta)

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

Screenshots
-----------

[](#screenshots)

[![Relation Manager](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/relation-manager.png)](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/relation-manager.png)[![Create](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/create.png)](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/create.png)[![Edit](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/edit.png)](https://raw.githubusercontent.com/tomatophp/filament-meta/master/arts/edit.png)

Installation
------------

[](#installation)

```
composer require tomatophp/filament-meta
```

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
-----

[](#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
-----------------

[](#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
-----------------------

[](#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
--------------

[](#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
-------

[](#testing)

if you like to run `PEST` testing just use this command

```
composer test
```

Code Style
----------

[](#code-style)

if you like to fix the code style just use this command

```
composer format
```

PHPStan
-------

[](#phpstan)

if you like to check the code by `PHPStan` just use this command

```
composer analyse
```

Other Filament Packages
-----------------------

[](#other-filament-packages)

Checkout our [Awesome TomatoPHP](https://github.com/tomatophp/awesome)

###  Health Score

46

—

FairBetter than 93% of packages

Maintenance79

Regular maintenance activity

Popularity21

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 72.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~112 days

Total

4

Last Release

217d ago

Major Versions

v1.0.2 → v4.0.02025-10-08

PHP version history (2 changes)v1.0.0PHP ^8.1|^8.2

v1.0.1PHP ^8.2|^8.3|^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/2147eb2fca7ab5f0124d0fafd88ba2d2a5dfa3a0036fb8872d1084b7cba29366?d=identicon)[fadymondy](/maintainers/fadymondy)

---

Top Contributors

[![fadymondy](https://avatars.githubusercontent.com/u/11937812?v=4)](https://github.com/fadymondy "fadymondy (21 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (3 commits)")

---

Tags

filament-pluginkey-valuemanagermetaphplaravelmodelmetarelationfilamentphprelation managerpluggable model

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/tomatophp-filament-meta/health.svg)

```
[![Health](https://phpackages.com/badges/tomatophp-filament-meta/health.svg)](https://phpackages.com/packages/tomatophp-filament-meta)
```

###  Alternatives

[tomatophp/filament-users

Manage your users with a highly customizable user resource for FilamentPHP with integration of filament-shield and filament-impersonate

90102.0k7](/packages/tomatophp-filament-users)[tomatophp/filament-cms

Full CMS System with support of importing integrations and multi meta functions

11410.4k4](/packages/tomatophp-filament-cms)[tomatophp/filament-types

Manage any type on your app in Database with easy to use Resource for FilamentPHP

5616.7k8](/packages/tomatophp-filament-types)[tomatophp/filament-pos

POS System for FilamentPHP with a lot of features and integration with Ecommerce Builder

681.5k](/packages/tomatophp-filament-pos)[tomatophp/filament-api

Generate APIs from your filament resource using single line of code

507.1k1](/packages/tomatophp-filament-api)[tomatophp/filament-saas-panel

Ready to use SaaS panel with integration of Filament Accounts Builder and JetStream teams

421.1k](/packages/tomatophp-filament-saas-panel)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
