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

Laravel中如何将foreach循环数据拆分为4列表格

在Laravel中实现4列表格布局的两种方法

方法一:使用集合的chunk方法(推荐)

Laravel的集合自带chunk方法,能直接把数据按指定数量分组,每组对应表格的一行,实现起来最简洁:

<table>
    @foreach($items->chunk(4) as $row)
        <tr>
            @foreach($row as $item)
                <td>{{ $item->name }}</td> {{-- 替换成你的实际字段名 --}}
            @endforeach
            {{-- 补全最后一行不足4列的空单元格,避免布局错乱 --}}
            @for($i = count($row); $i < 4; $i++)
                <td></td>
            @endfor
        </tr>
    @endforeach
</table>

说明:

  • $items是你的数据集合(比如Model::all()或查询返回的集合)
  • chunk(4)会把集合拆成每个包含4个元素的子集合,每个子集合对应表格的一行
  • 最后的@for循环用来填充最后一行的空缺单元格,保证每行都是4列结构

方法二:手动计数控制换行

如果不想依赖集合方法,也可以通过计数器判断何时换行:

<table>
    <tr>
        @php $count = 0; @endphp
        @foreach($items as $item)
            <td>{{ $item->name }}</td> {{-- 替换成你的实际字段名 --}}
            @php $count++; @endphp
            {{-- 每4个元素结束当前行,开启新行(排除最后一次循环,避免多生成空行) --}}
            @if($count % 4 == 0 && !$loop->last)
                </tr><tr>
            @endif
        @endforeach
        {{-- 补全最后一行的空单元格 --}}
        @for($i = $count % 4; $i > 0 && $i < 4; $i++)
            <td></td>
        @endfor
    </tr>
</table>

说明:

  • 用$count变量记录当前循环次数
  • $count % 4 == 0判断是否已到第4个元素,结合!$loop->last避免最后一行后多生成空行
  • 同样通过@for补全空缺单元格,维持表格结构一致

你只需把代码中的字段名替换成自己的数据字段,就能适配你的业务场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 07:25:57