You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Blade循环实现权限列表双列布局问题求助

实现Bootstrap List Group两列权限布局的正确思路

不用在控制器拆分权限集合,也不用纠结$loop->even/$loop->odd的问题,直接用Laravel集合自带的chunk(2)方法就能完美实现你要的布局——把权限按每2个一组拆分,每组对应一个list-group-item,左边放第一个权限,右边用ms-auto对齐第二个权限。

完整Blade代码示例

<div class="list-group">
    @foreach($permissions->chunk(2) as $permissionPair)
        <div class="list-group-item d-flex align-items-center">
            {{ $permissionPair[0]->name }}
            {{-- 处理权限数量为奇数的情况,避免报错 --}}
            @if(isset($permissionPair[1]))
                <span class="ms-auto">{{ $permissionPair[1]->name }}</span>
            @endif
        </div>
    @endforeach
</div>

为什么这个方法可行?

  • chunk(2)会自动把你的权限集合拆分成若干个包含2个元素的子集合,最后一组如果只有1个元素也会保留,不用额外处理。
  • 遍历每个子集合时,直接把第一个元素放在左侧,第二个元素通过ms-auto靠右对齐,完全匹配你给出的示例布局。
  • 全程不需要在控制器修改集合,保持业务逻辑和视图渲染的分离,代码更简洁。

之前用$loop->even/$loop->odd达不到效果的原因是,这种方式是针对单个元素的遍历,没法把两个元素绑定到同一个list-group-item里,而chunk()刚好解决了这个分组问题。

内容的提问来源于stack exchange,提问作者Hardist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 13:10:32