\App\Service::groupBy('type')->orderBy('id', 'DESC')->get();
我正在使用laravel 5.5 .. 能帮我解决这个问题吗??
错误报告
“ SQLSTATE [42000]:语法错误或访问冲突:1055'db_name.tbl_name.id'不在GROUP BY中(SQL:从tbl_name
组中按type
的顺序选择{ {1}} desc)“
答案 0 :(得分:2)
如果您遇到此错误
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的严格模式
答案 1 :(得分:1)
在MySQL中进行分组时,您只能使用正在分组的字段或所选聚合函数中使用的字段。因此,orderBy('id', 'DESC')
在您的情况下将无济于事。
答案 2 :(得分:0)
ModelName::orderBy('tableName.columnName', 'asc')->groupBy('tableName.columnName')->get()->toArray();