Laravel по-русски

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

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

#1 29.11.2017 09:22:24

Формирование хорошего двухуровневого меню

Имеется Laravel 5 версии хочу сделать хорошее двухуровневое меню делаю так:

В контроллере получаю данные:

//получаем категории первого уровня и второго уровня
    $cats_level1 = \App\Cat::select(['id','name','link'])->get();      
    $cats_level2 = \App\Subcat::select(['cat_id','name','img'])->get();

// link и img забираю для иных дел
   
    //$unique_level1 = $cats_level2->unique('cat_id');//выбираем уникальные коллекции (это попытка оптимизировать код)

выбрасываю во view blade
'menu1' => $cats_level1,
'menu2' => $cats_level2,

Во вьюшке так





<div class="panel-group" id="accordion">                    
    @foreach($menu1 as $item_level1)
    <!-- начало -->
    <div class="panel panel-default">
        <div class="panel-heading">
            <h4 class="panel-title">
                <a data-toggle="collapse" data-parent="#accordion" href="#collapse{{ $item_level1->id }}" aria-expanded="false" class="collapsed">{{ $item_level1->name }}</a>
            </h4>
        </div>
        <div id="collapse{{ $item_level1->id }}" class="panel-collapse collapse" aria-expanded="false" style="height: 0px;">
            <div class="panel-body">
                <table class="table">
                    <tbody>
                        @foreach($menu2 as $item_level2)
                        @if ($item_level1->id == $item_level2->cat_id)
                        <tr>
                            <td>
                                <span class="text-primary"></span><a href="{{ $item_level2->link }}">{{ $item_level2->name }}</a>
                            </td>
                        </tr>
                        @endif
                        @endforeach
                    </tbody>
                </table>
            </div>
        </div>
    </div>
    <!-- конец -->
    @endforeach
</div>

Все в принципе работает но хотелось бы на первом foreach  знать есть ли вложенное меню (и не ходить кругами во втором foreach lol:D)

P/s это неплохое меню  но в моем случае структура бд должна остаться именно так(2 таблицы)

Изменено blackdark20 (29.11.2017 09:28:58)

Не в сети

#2 29.11.2017 10:02:52

Re: Формирование хорошего двухуровневого меню

https://github.com/lavary/laravel-menu

https://goo.gl/cgUSck  58 урок + -

Изменено sam (29.11.2017 10:07:06)

Не в сети

#3 29.11.2017 16:13:33

Re: Формирование хорошего двухуровневого меню

п.с. под 55м уроком всяко разное оставил, по проблемным местам. в том числе и по меню этому. если че не получится - пиши. поясню. сам уже сделал это меню под данным урокам. там можно выводить из БД, а можно статическое забить.

Не в сети

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