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

Blade视图中按分组值展示不同表格的实现需求

按商品类型分组展示订单表格

步骤1:后端控制器处理数据

在把数据传递到视图前,先对$orders按商品名称分组,用Laravel集合的groupBy方法即可:

// 控制器中获取订单数据后执行分组
$groupedOrders = $orders->groupBy('product_name');
return view('invoice', compact('groupedOrders'));

步骤2:Blade视图渲染分组表格

遍历分组后的数据,每个商品类型对应一个独立表格,还可按需添加分组小计:

@foreach($groupedOrders as $productName => $orders)
    <h3>{{ $productName }}</h3>
    <table border="1" cellpadding="8" cellspacing="0">
        <thead>
            <tr>
                <th>No</th>
                <th>Nama Produk</th>
                <th>Jumlah</th>
                <th>Harga Satuan</th>
                <th>Total</th>
            </tr>
        </thead>
        <tbody>
            @foreach($orders as $index => $order)
                <tr>
                    <td>{{ $index + 1 }}</td>
                    <td>{{ $order->product_name }}</td>
                    <td>{{ $order->quantity }}</td>
                    <td>{{ number_format($order->unit_price, 0, ',', '.') }}</td>
                    <td>{{ number_format($order->total_price, 0, ',', '.') }}</td>
                </tr>
            @endforeach
            <!-- 分组小计行 -->
            <tr>
                <td colspan="4" align="right"><strong>Subtotal {{ $productName }}</strong></td>
                <td><strong>{{ number_format($orders->sum('total_price'), 0, ',', '.') }}</strong></td>
            </tr>
        </tbody>
    </table>
    <br>
@endforeach

注意事项

  • 确保$orders是Laravel集合实例(查询数据时用get()而非first()获取)
  • 代码中的字段名(如product_name、quantity)要和你实际的数据库字段一致
  • 表格样式、金额格式化规则可根据需求自行调整

内容的提问来源于stack exchange,提问作者Muhammad Rizky Safdila

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 17:15:35