Third Layer Navigation.

Im tryint to setup a third layer of navigation using the navigation builder

on the panel i defnied:
 ->navigation(function (NavigationBuilder $builder): NavigationBuilder {

                $builder->groups(
                    array_merge(
                        [NavigationGroup::make('Dashboard')->items([NavigationItem::make('Dashboard')->url('/boot/dashboard.asp')->icon('heroicon-o-home')])],
                        Modul::query()
                            ->where('hidden', 0)
                            ->orderBy('OrderId')
                            ->get()
                            ->map(fn (Modul $modul) => $modul->getNavigationGroup())
                            ->toArray()
                    ));

                return $builder;
            });

Modul is just an Model with function:
use Filament\Navigation\NavigationGroup as FilamentNavigationGroup;

public function getNavigationGroup(): NavigationGroup
    {
        $navigationItems = $this->menuItems()->where('unlocked', '=', 1)->whereNull("parent")->get()->map(fn (NavigationItem $navigationItem) => $navigationItem->registerAsNavigationItem())->toArray();

        return FilamentNavigationGroup::make($this->LabelDE)
            ->icon(preg_match('/class\s*=\s*["\']([^"\']+)["\']/', $this->icon, $matches) ? $matches[1] : '')
            ->items($navigationItems)
            ->collapsed(true);
    }
Solution
Solution:
$navItem->childItems([...$children])
`
Was this page helpful?