#laravel
Вопрос:
Я пытаюсь создать меню типа аккордеона. На данный момент у меня есть столбец в базе данных, который выглядит так menu 1/sub menu 1
, и в моей функции я взрываю его, чтобы создать массив, который выглядит примерно так:
array:2 [▼
0 => "menu 1"
1 => "sub menu 1"
]
На данный момент я не уверен, как добавить подменю внутри аккордеона.
Это то, что у меня есть на данный момент:
@foreach($m['explode'] as $k => $m)
<div class="card-header" id="headingTwo">
<h2 class="mb-0">
<button class="btn btn-link btn-block text-left" type="button" data-toggle="collapse" data-target="#{{ $m }}" aria-expanded="true" aria-controls="collapseOne">
{{ $m }}
</button>
</h2>
</div>
<div id="{{ $m }}" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
<div class="card-body">
{{ $m }}
</div>
</div>
@endforeach
Что происходит, так это то, что я получаю 2 заголовка аккордеона вместо 1. Также возможно иметь более 2 элементов в массиве.
Комментарии:
1. вы должны что-то изменить
$k => $v
или что-то еще, но нет$k => $m
, потому$m
что уже определено и его переписывают$m['explode']
, поэтому ваш цикл останавливается на первом цикле, когда$m
переопределяется с новыми данными2. Я перешел
$k => $m
на$k => $v
, но я все еще получаю 2 заголовка вместо 13. Вы все равно получите 2, потому что у вас есть два элемента в массиве и то, как вы их реализовали. И да, у вас может быть более 2 значений в массиве.,
4. @OMiShah — Я понимаю это, но как мне сделать это таким образом, чтобы у меня могло быть что-то вроде этого
level 1 = menu 1
анадаlevel 2 = sub menu 1
. Имеет ли это смысл?5. Вместо
foreach
этого вы можете напрямую получить доступ$m['explode'][0]
в качестве главного меню, а затем [1] в качестве подменю.