如何在 laravel 中将行转换为列

How to convert rows into columns in laravel

我是网络开发的新手...我想要的是:

我得到的记录有三个主要列,'DateTime'、'meter_type'、'value'...现在在这里,meter_type 具有相同的值,即来自对于 DateTime 和值的不同值,1 到 8(在图像中,它是 72 到 79)...例如,在 DateTime:2016-06-23 00:01:00,我得到 8 所有 [=12] 的不同值=] 不同的仪表类型和类似的 DateTime:2016-06-23 00:02:00,我将为所有 meter_types 获得一组新的 8 个值...

现在我想要的是,将 'DateTime' 列分组为不同的 'meter_type' 即,在这种情况下(以上示例),我想要 9 列(总共),1 列用于 DateTime 和剩下的所有 8 列描述 8 meter_type,这些列的记录将是其中的 value...请参考图片以获得更多说明...

我想在旅行中使用查询生成器或 eloquent...我用谷歌搜索了这个,但我没有找到任何对我想要的旅行有用的东西...请帮帮我这里...文档或适当详细的例子来实现我想要的东西将非常感激。

看起来像是 group by 方法在集合上的完美使用:

https://laravel.com/docs/master/collections#method-groupby

如果你这样做

$collection->groupBy('meter_type');

您将拥有一个使用仪表类型作为键的数组,以及每个数组中关于该仪表类型的所有记录。