php - Laravel 集合上的多个 groupBy

标签 php laravel group-by eloquent

我试图在 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/

相关文章:

php - laravel 5.4 内部查询中的变量未定义

python - Pandas : Sum multiple columns and get results in multiple columns

php - 硬编码数组和对象还是从数据库填充?

php - 是否可以在 Twig 中定义内联模板?

php - 覆盖模型的软删除表列

php - Laravel 检查图像路径字符串是否为图像

Swift:分组配对,算法

mysql - sql查询中的左外连接

php - PHP 中的全局捕获

php - 如何在 centOS 上使用 YUM 将 php 5.2.10 升级到 5.2.11