我试图在 Laravel 5 中按两个子句对集合进行分组,但它只按第一个子句对其进行分组。有人可以帮帮我吗?这是我的代码。
$query = Activity::all()->groupBy('performed_at_year_month', 'performer_id')->toJson();
最佳答案
https://stackoverflow.com/a/30469061/221745 中的解决方案我认为可以改进。关键是要记住按集合分组是集合的集合。因此,以下将起作用:
<?php
$recs = new \Illuminate\Database\Eloquent\Collection($query);
$grouped = $recs->groupBy('performed_at_year_month')->transform(function($item, $k) {
return $item->groupBy('performer_id');
});
$grouped
包含您的最终结果
关于php - Laravel 集合上的多个 groupBy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30468966/