У меня есть приложение laravel со статическим меню.
Теперь я хочу изменить это в динамические меню из базы данных.
Пока все хорошо, поэтому я сделал миграцию для таблицы с именем menu_items.
Затем я написал промежуточное программное обеспечение со следующим методом дескриптора:
public function handle($request, Closure $next)
{
\Menu::make('mainmenu', function ($menu) {
$items = MenuItem::all();
foreach ($items as $item) {
if ($item->parent_id == null) {
$menu->add($item->title, $item->link)
->prepend('<i class="'.$item->icon.'"></i>');
}
else {
// dd($menu);
$parent = $item->parent_id - 1;
$menu->find($parent)->add($item->title, $item->link);
}
}
return $next($request);
}
Я перешел на lavary / laravel-menu и пытаюсь динамически добавить подменю в родительский пункт меню. Я не понимаю, почему Laravel всегда говорит мне на
$menu->find($parent)->add($item->title, $item->link);
Вызов функции-члена add () для null $ parent не равен null, если я распечатываю с помощью dd () Если я делаю что-то вроде $menu->last()->add($item->title, $item->link);
Это работает, но это не то, что я хочу ...