如何在 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的严格模式
\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的严格模式