如何处理Laravel中groupBy分组查询结果的问题?
- 内容介绍
- 文章标签
- 相关推荐
本文共计232个文字,预计阅读时间需要1分钟。
在使用Laravel的`groupBy`方法时,您遇到了语法错误。以下是修改后的代码:
php$data=Orders::select('orders.*', 'user.name', 'orderstatus.name as ssname') ->join('user', 'user.id', '=', 'orders.uid') ->join('orderstatus', 'orderstatus.id', '=', 'orders.status_id') // 假设status_id是关联的列 ->groupBy('user.id', 'orders.id') // 根据user和orders的id进行分组 ->get();
使用laravel groupBy方法时不知为什么一直出现语法错误,查了很多资料才找到原因:
$data = Orders::select("orders.*","user.name","orderstatu.name as ssname") ->join("user","user.id","=","orders.uid") ->join("orderstatu","orderstatu.id","=","orders.sid") ->groupBy("orders.code")->get();
原因是:
当select和groupBy中列表不一致时候会报错。mysql从5.7以后,默认开启group by的严格模式。
解决方法:
找到config/database.php 在mysql下面把'strict' => true,改为false。
以上这篇解决laravel groupBy 对查询结果进行分组出现的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。
本文共计232个文字,预计阅读时间需要1分钟。
在使用Laravel的`groupBy`方法时,您遇到了语法错误。以下是修改后的代码:
php$data=Orders::select('orders.*', 'user.name', 'orderstatus.name as ssname') ->join('user', 'user.id', '=', 'orders.uid') ->join('orderstatus', 'orderstatus.id', '=', 'orders.status_id') // 假设status_id是关联的列 ->groupBy('user.id', 'orders.id') // 根据user和orders的id进行分组 ->get();
使用laravel groupBy方法时不知为什么一直出现语法错误,查了很多资料才找到原因:
$data = Orders::select("orders.*","user.name","orderstatu.name as ssname") ->join("user","user.id","=","orders.uid") ->join("orderstatu","orderstatu.id","=","orders.sid") ->groupBy("orders.code")->get();
原因是:
当select和groupBy中列表不一致时候会报错。mysql从5.7以后,默认开启group by的严格模式。
解决方法:
找到config/database.php 在mysql下面把'strict' => true,改为false。
以上这篇解决laravel groupBy 对查询结果进行分组出现的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。

