如何在 laravel 中使用 Eloquent groupBy 和 orderBy?

How to using Eloquent groupBy and orderBy in laravel?

\App\Service::groupBy('type')->orderBy('id', 'DESC')->get();

我正在使用 laravel 5.5.. 可以帮我解决这个问题吗..?

错误报告

"SQLSTATE[42000]: Syntax error or access violation: 1055 'db_name.tbl_name.id' isn't in GROUP BY (SQL: select * from tbl_name group by type order by id desc) "

在 MySQL 中分组时,您只能使用分组依据的字段或 select 的聚合函数中使用的字段。因此 orderBy('id', 'DESC') 对你的情况无能为力。

如果您遇到此错误

SQLSTATE[42000]: Syntax error or access violation: 1055 'tablename.fieldname' isn't in GROUP BY (SQL: select * from `tablename` group by `fieldname`)

然后编辑你的数据库配置文件config/database.php

在mysql数组中,设置strict => false禁用MySQL的严格模式