Php 在laravel中按手风琴标题对项目进行分组
我在Laravel中使用了一个项目数组(在数组中,一半是“父项目”,一半是“子项目”) 假设数组是30个项目,每种类型15个,我试图得到一个结果,我会有一个单一的手风琴头,上面写着“父项目”,其中15个父项目在单个头下,然后是一个“子项目”的手风琴头,其中15个在它下面 然而,使用我当前的代码,我得到了每个项目的标题 我知道这是因为foreach,但我很困惑如何准确地实现我所寻找的,我似乎无法回避每个项目的标题问题 我做错了什么Php 在laravel中按手风琴标题对项目进行分组,php,laravel,Php,Laravel,我在Laravel中使用了一个项目数组(在数组中,一半是“父项目”,一半是“子项目”) 假设数组是30个项目,每种类型15个,我试图得到一个结果,我会有一个单一的手风琴头,上面写着“父项目”,其中15个父项目在单个头下,然后是一个“子项目”的手风琴头,其中15个在它下面 然而,使用我当前的代码,我得到了每个项目的标题 我知道这是因为foreach,但我很困惑如何准确地实现我所寻找的,我似乎无法回避每个项目的标题问题 我做错了什么 @foreach($items as $item)
@foreach($items as $item)
@if($item['type'] == "Parent Item")
<div class="accordion" id="accordionExample">
<div class="card">
<div class="card-header" id="headingOne">
<h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Main/Parent Items
</button>
</h2>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
<div class="card-body">
{{$item['Description']}}
</div>
</div>
</div>
</div>
@elseif($item['type'] == "Child Item")
<div class="accordion" id="accordionExample">
<div class="card">
<div class="card-header" id="headingTwo">
<h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
Sub/Child Items
</button>
</h2>
</div>
<div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordionExample">
<div class="card-body">
{{$item['Description']}}
</div>
</div>
</div>
</div>
@endif
@endforeach
@foreach($items作为$item)
@如果($item['type']=“父项”)
主要/父项
{{$item['Description']}
@elseif($item['type']=“子项”)
子/子项目
{{$item['Description']}
@恩迪夫
@endforeach
您只需执行两个循环,即:
<div class="accordion" id="accordionExample">
<div class="card">
<div class="card-header" id="headingOne">
<h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Main/Parent Items
</button>
</h2>
</div>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordionExample">
@foreach($items as $item)
@if($item['type'] == "Parent Item")
<div class="card-body">
{{$item['Description']}}
</div>
@endif
@endforeach
</div>
</div>
</div>
<div class="accordion" id="accordionExample2">
<div class="card">
<div class="card-header" id="headingTwo">
<h2 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
Sub/Child Items
</button>
</h2>
</div>
<div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordionExample2">
@foreach($items as $item)
@if($item['type'] == "Child Item")
<div class="card-body">
{{$item['Description']}}
</div>
@endif
@endforeach
</div>
</div>
</div>
主要/父项
@foreach($items作为$item)
@如果($item['type']=“父项”)
{{$item['Description']}
@恩迪夫
@endforeach
子/子项目
@foreach($items作为$item)
@如果($item['type']=“子项”)
{{$item['Description']}
@恩迪夫
@endforeach
另请注意,这两个元素上的
id=“accordionExample”
无效,它们应该具有唯一的id。不幸的是,这仍然只是在每个项目上方创建了一个标题按钮。我只需要一个标题/按钮,所有项目都位于该标题/按钮下方one@TomN. 看我的更新,这符合你的需要吗?啊,当然!这很有道理,是的,效果很好。非常感谢。