【问题标题】:Creating a Table with Grouping using Laravel Blade使用 Laravel Blade 创建带有分组的表
【发布时间】:2016-07-28 17:22:09
【问题描述】:

我在数据库中有以下数据

salesperson_id   | item      |   value  
1                   112         100
1                   199         100
2                   155         50

这是存储在一个数组中

[  
  {  
  "salesperson_id":"1",
  "ITEM":"112",
  "TOTAL":100
  },
{  
  "salesperson_id":"1",
  "ITEM":"199",
  "TOTAL":100 
},
{  
  "salesperson_id":"2",
  "ITEM":"155",
  "TOTAL":50
}
]

使用 laravel Blade 我将如何让数据显示类似于下面

|Sales Person - 1 |
                  | ITEM   |  value |
                    112       100
                    199       100
                                      total £200
 | Sales Person 2 | 
                  | ITEM   |  value |
                    155         50    
                                     total £50

我可以将每一行打印到表格行,但我想将其更改为上述分组,如果有人能指出我正确的方向,那就太好了,我不是在寻找要为我完成的代码.

【问题讨论】:

    标签: php laravel blade laravel-blade


    【解决方案1】:

    这是Collection::groupBy 的一个很好的用例

    <table>
        @foreach($data->groupBy('salesperson_id') as $salesperson)
            <tr>
                <td rowspan="{{ count($salesperson)+1 }}">{{ $salesperson[0]['salesperson_id] }}</td>
                @foreach($salesperson as $item)
                    <td>{{ $item['ITEM'] }}</td>
                    <td>{{ $item['TOTAL'] }}</td>
                @endforeach
            </tr>
            <tr>
                <td colspan="2">Total: £ {{ $salesperson->sum('TOTAL') }}</td>
            </tr>
        @endforeach
    </table>
    

    只需确保 $data 作为集合而不是普通数组传递给您的视图。

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 2018-02-05
      • 2014-04-11
      • 2021-09-18
      • 2020-12-09
      • 2016-05-15
      • 1970-01-01
      • 2021-09-05
      • 1970-01-01
      相关资源
      最近更新 更多