Laravel 中如何将行转换为列

nik*_*nik 2 mysql pivot laravel eloquent laravel-query-builder

我对网络开发完全陌生......我想要的是这样的:

Excel 中的行记录转换为列

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

现在我想要的是,为不同的“meter_type”对“DateTime”列进行分组,即在这种情况下(上面的示例),我想要 9 列(总共),1 列用于 DateTime,其余 8 列描述 8 个meter_type 和记录对于这些列将是value其中...请参阅图片以获取更多说明...

我想在旅行中使用查询构建器或雄辩来做到这一点...我用谷歌搜索了这个,但我没有找到任何对我想要的旅行有用的东西...请在这里帮助我...文档或正确详细的示例为了实现我想要的目标,我将不胜感激。

Atr*_*eur 5

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

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

这样如果你这样做

$collection->groupBy('meter_type');
Run Code Online (Sandbox Code Playgroud)

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