Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Привет всем.
В форуме не нашел ответа, в интернете тоже. В том же интернете полно примеров как сделать динамическое меню, но все примеры содержали простые запросы, которые я смог повторить со своей БД. Ав от как сделать состав меню разным для разных пользователей не нашел. Все примеры основаны на передаче в контроллер/композер чего-то подобного:
return $query->where('parent',0)->whereIn('id', $filter);
А вот как передать такого запроса :
$query = DB::raw("SELECT * FROM main_menu WHERE (parent =0 AND id IN (1,6)) OR (parent IN (1,6,100))");
Результат из БД получаю такой как нужно, но не могу продвинуться дальше. Пробовал преобразовывать через collect($query) - все равно получаю ошибку.
Не в сети
Разобрался.
при первом способе возврата запроса меню формировалось так:
@foreach($menuitems as $k=> $item)
<li> {{ $item['title'] }}</li>
@endforeach
А если возвращать второй вариант, т.е. массив, то получаем массив объектов и отображать надо по-другому
@php
for($i=0;$i<count($menuitems);$i++){
echo "<li>" .($menuitems[$i]->title)
}
@endphp
или
@foreach($menuitems as $k=> $item)
<li> {{ $item->title }}</li>
@endforeach
Изменено Larush (26.01.2022 10:08:41)
Не в сети