使用Laravel Blade创建包含分组的表

时间:2016-06-10 10:18:06

标签: php laravel blade laravel-blade

我在数据库中有以下数据

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

我可以将每一行打印到一个表行,但我想将其更改为上面的分组,如果有人能指出我正确的方向,我会很好,我不会找到要完成的代码对我来说。

1 个答案:

答案 0 :(得分:1)

这是Collection::groupBy

的一个很好的用例
diskindex

请确保将<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> 作为集合传递给您的视图,而不是普通数组。