Получение 2 заголовков аккордеона вместо 1

#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 заголовка вместо 1

3. Вы все равно получите 2, потому что у вас есть два элемента в массиве и то, как вы их реализовали. И да, у вас может быть более 2 значений в массиве.,

4. @OMiShah — Я понимаю это, но как мне сделать это таким образом, чтобы у меня могло быть что-то вроде этого level 1 = menu 1 анада level 2 = sub menu 1 . Имеет ли это смысл?

5. Вместо foreach этого вы можете напрямую получить доступ $m['explode'][0] в качестве главного меню, а затем [1] в качестве подменю.