Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 25.01.2022 17:42:05

Динамическое меню с чуть более сложным запросом

Привет всем.
В форуме не нашел ответа, в интернете тоже. В том же интернете полно примеров как сделать динамическое меню, но все примеры содержали простые запросы, которые я смог повторить со своей БД. Ав от как сделать состав меню разным для разных пользователей не нашел. Все примеры основаны на передаче в контроллер/композер чего-то подобного:

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) - все равно получаю ошибку.

Не в сети

#2 26.01.2022 10:04:25

Re: Динамическое меню с чуть более сложным запросом

Разобрался.
при первом способе возврата запроса меню формировалось так:

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

Не в сети

Подвал раздела