PHPackages                             novius/filament-relation-nested - 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. [Database &amp; ORM](/categories/database)
4. /
5. novius/filament-relation-nested

ActiveLibrary[Database &amp; ORM](/categories/database)

novius/filament-relation-nested
===============================

A filament package to manage relationships that use the NestedSet model.

1.0.2(2mo ago)3163↓50%[1 issues](https://github.com/novius/filament-relation-nested/issues)1AGPL-3.0-or-laterPHPPHP ^8.2CI passing

Since Oct 1Pushed 2mo agoCompare

[ Source](https://github.com/novius/filament-relation-nested)[ Packagist](https://packagist.org/packages/novius/filament-relation-nested)[ RSS](/packages/novius-filament-relation-nested/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (7)Versions (5)Used By (1)

Laravel Filament Relation Nested
================================

[](#laravel-filament-relation-nested)

[![Novius CI](https://github.com/novius/filament-relation-nested/actions/workflows/main.yml/badge.svg?branch=main)](https://github.com/novius/filament-relation-nested/actions/workflows/main.yml)[![Packagist Release](https://camo.githubusercontent.com/f2c8e4b39af75da17fb7c24c1717a50b8402aa78b0e335c3450a22af45ace3c6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f766975732f66696c616d656e742d72656c6174696f6e2d6e65737465642e7376673f6d61784167653d31383030267374796c653d666c61742d737175617265)](https://packagist.org/packages/novius/filament-relation-nested)[![License: AGPL v3](https://camo.githubusercontent.com/c61341f63648cdd5aba4f7a073b513106a63778c27b15f96c56157642bc943b4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4147504c25323076332d626c75652e737667)](http://www.gnu.org/licenses/agpl-3.0)

Introduction
------------

[](#introduction)

This [Laravel Filament](https://filamentphp.com/) package allows you to manage relation that uses the [kalnoy/nestedset](https://packagist.org/packages/kalnoy/nestedset) in your Laravel Filament admin panel.

Requirements
------------

[](#requirements)

- PHP &gt;= 8.2
- Laravel Filament &gt;= 5
- Laravel Framework &gt;= 11.0

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

[](#installation)

```
composer require novius/filament-relation-nested
```

Publish Filament assets

```
php artisan filament:assets
```

Usage
-----

[](#usage)

### Relation Manager

[](#relation-manager)

First create a RelationManager for your filament resource that have a relation to a model that uses nestedset package:

```
use Filament\Actions\CreateAction;
use Filament\Actions\DeleteAction;
use Filament\Actions\EditAction;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Novius\FilamentRelationNested\Filament\Actions\FixTreeAction;
use Novius\FilamentRelationNested\Filament\Resources\RelationManagers\TreeRelationManager;

class MenuItemsTreeRelationManager extends TreeRelationManager
{
    // Define the relationship name
    protected static string $relationship = 'items';

    public function table(Table $table): Table
    {
        return $table
            ->columns([
                TextColumn::make('title'),
            ])
            ->pluralModelLabel('Menu items')
            ->recordTitleAttribute('title')
            ->headerActions([
                CreateAction::make(),

                // Add the FixTreeAction if you want an action that fix the nestedset tree
                FixTreeAction::make(),
            ])
            ->actions([
                EditAction::make(),
                DeleteAction::make(),
            ]);
    }
}
```

Then add it to your resource

```
class MenuResource extends Resource
{
    public static function getRelations(): array
    {
        return [
            // ...
            MenuItemsTreeRelationManager::class,
        ];
    }
}
```

### TreeColumn

[](#treecolumn)

You can use this column in a filament table on a model that uses the nestedset package. This will display a column which, when sorting is this column, will give an idea of the tree.

```
use CodeWithDennis\FilamentSelectTree\SelectTree;
use Exception;
use Filament\Forms\Components\Checkbox;
use Filament\Forms\Components\Grid;
use Filament\Forms\Components\Hidden;
use Filament\Forms\Components\Select;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;
use Filament\Forms\Get;
use Filament\Forms\Set;
use Filament\Resources\Resource;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
use Novius\FilamentRelationNested\Filament\Tables\Columns\TreeColumn;
use Novius\LaravelFilamentMenu\Enums\LinkType;
use Novius\LaravelFilamentMenu\Facades\MenuManager;
use Novius\LaravelFilamentMenu\Filament\Resources\MenuItemResource\Pages\CreateMenuItem;
use Novius\LaravelFilamentMenu\Filament\Resources\MenuItemResource\Pages\EditMenuItem;
use Novius\LaravelFilamentMenu\Filament\Resources\MenuItemResource\RelationManagers\MenuItemsRelationManager;
use Novius\LaravelFilamentMenu\Models\Menu;
use Novius\LaravelFilamentMenu\Models\MenuItem;
use Novius\LaravelLinkable\Filament\Forms\Components\Linkable;
use Wiebenieuwenhuis\FilamentCodeEditor\Components\CodeEditor;

class MenuItemResource extends Resource
{
    public static function table(Table $table): Table
    {
        return $table
            // This will disable the pagination when the table is sorted by the _lft field
            ->paginated(fn (Table $table) => ! empty($table->getSortColumn()) && $table->getSortColumn() !== '_lft')
            // This will default sort the table on the _lft field
            ->defaultSort('_lft')
            ->columns([
                TreeColumn::make('_lft'),

                // ....
            ]);
    }
}
```

Lint
----

[](#lint)

Run php-cs with:

```
composer run-script lint
```

Contributing
------------

[](#contributing)

Contributions are welcome! Leave an issue on Github, or create a Pull Request.

Licence
-------

[](#licence)

This package is under [GNU Affero General Public License v3](http://www.gnu.org/licenses/agpl-3.0.html) or (at your option) any later version.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance77

Regular maintenance activity

Popularity18

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~0 days

Total

3

Last Release

88d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/341860?v=4)[Novius](/maintainers/novius)[@novius](https://github.com/novius)

---

Top Contributors

[![felixgilles](https://avatars.githubusercontent.com/u/900854?v=4)](https://github.com/felixgilles "felixgilles (21 commits)")

---

Tags

laravelnestedtreenestedsetrelationfilament

###  Code Quality

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/novius-filament-relation-nested/health.svg)

```
[![Health](https://phpackages.com/badges/novius-filament-relation-nested/health.svg)](https://phpackages.com/packages/novius-filament-relation-nested)
```

###  Alternatives

[anourvalar/eloquent-serialize

Laravel Query Builder (Eloquent) serialization

11120.2M21](/packages/anourvalar-eloquent-serialize)[biiiiiigmonster/hasin

Laravel framework relation has in implement

154552.4k](/packages/biiiiiigmonster-hasin)[relaticle/custom-fields

User Defined Custom Fields for Laravel Filament

15828.6k](/packages/relaticle-custom-fields)[15web/filament-tree

Tree builder for Eloquent models

2213.0k](/packages/15web-filament-tree)[wsmallnews/filament-nestedset

Filament nestedset tree builder powered by kalnoy/nestedset with Filament v4 and v5 support

163.0k8](/packages/wsmallnews-filament-nestedset)[tomatophp/filament-locations

Database Seeds for Countries / Cities / Areas / Languages / Currancy with ready to use resources for FilamentPHP

2320.8k6](/packages/tomatophp-filament-locations)

PHPackages © 2026

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