我有一张名为“网格”的表格。 列是id,floor和grid。
id floor grid
========== ======= =======
1 EG LEFT
2 EG RIGHT
3 DG LEFT
4 DG RIGHT
当我获取所有数据时:
$data = Grid::all()
我有一个0 =>的数组网格对象1,1 =>网格对象2,等等..
但是如何将我的Result分组成这样的数组:
$data = array(
'EG' => array(
'LEFT' => Grid Object 1,
'RIGHT' => Grid Object 2,
)
'DG' => array(
'LEFT' => Grid Object 3,
'RIGHT' => Grid Object 4,
)
)
提前致谢
答案 0 :(得分:1)
我认为你必须手动完成。意义循环通过集合并构建新结构
$result = array();
foreach($data as $d){
if(!isset($result[$d->floor])){
$result[$d->floor] = array();
}
$result[$d->floor][$d->grid] = $d;
}
答案 1 :(得分:1)
从目前的Laravel版本开始,您可以使用groupBy函数
$data = $data->groupBy('floor');
会给你想要的数组