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

Laravel将Collection循环结果分块 实现两列布局每列5条内容

问题原因
  • 你现有代码仅配置了$loop->first(循环第一条时触发)和$loop->last(循环最后一条时触发)的输出判断,中间的8条数据没有匹配到任何输出条件,所以只会显示首尾两条内容。
实现方案

方案1:使用Laravel集合chunk方法(推荐)

Laravel的查询结果默认是Collection实例,直接调用chunk()方法即可按指定数量拆分分组,10条数据调用chunk(5)会自动拆成2组,刚好对应两列每列5条:

<div class="row">
    {{-- 按5条一组拆分公告集合 --}}
    @foreach ($allbulletin->chunk(5) as $columnItems)
        <div class="col">
            <ul>
                @foreach ($columnItems as $bullet)
                    <li>{{ $bullet->title }}</li>
                @endforeach
            </ul>
        </div>
    @endforeach
</div>

注:上述代码里的row、col为Bootstrap栅格类,你可以替换成你自己项目里的两列布局样式类。

方案2:通过循环索引手动拆分

如果不想用集合方法,也可以通过$loop->iteration(从1开始的循环计数)判断换列时机:

<div class="row">
    <div class="col">
        <ul>
        @foreach ($allbulletin as $bullet)
            <li>{{ $bullet->title }}</li>
            {{-- 第5条输出完成后切换列 --}}
            @if ($loop->iteration === 5)
                </ul>
            </div>
            <div class="col">
                <ul>
            @endif
        @endforeach
        </ul>
    </div>
</div>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:24:01