laravel按查询分组:语法错误或访问冲突:1055



我正在用 laravel 5.7 编写查询,给出以下错误

SQLSTATE[42000]:语法错误或访问冲突:1055 "demoecommerce.orders.id"不在分组依据 (SQL: 选择table_users.nameorders.*,orders_details.orders_idorders_details内部连接ordersordersid=orders_details.orders_id内部连接productsorders_detailsproduct_id=products.product_id内部连接table_userstable_users.id=orders.user_id分组按orders_id

)在 mysql 中,它可以正常运行。

$orders = DB::table('orders_details')
->join('orders','orders.id','=','orders_details.orders_id')
->join('products','orders_details.product_id','=','products.product_id')
->join('table_users','table_users.id','=','orders.user_id')
->select('table_users.name','orders.*','orders_details.orders_id')
->groupBy('orders_id')
->get();

如果你的 SQL 查询中有 groupby,你只能在 SQL 中选择属于 groupby 的列,否则你必须在列上有一些聚合(总和、计数、平均值......

您可以添加更多详细信息,例如您需要从此查询中获取的内容、订单计数?或每个用户的订单详细信息。

此外,您可以尝试在集合上查看 Groupby。拉拉维尔文档 组按收集

步骤 1. 转到 config 文件夹并打开数据库文件并更改...'strict' => true',改为false.
step 2。转到"提供程序"文件夹并打开Appserviceprovoder文件并执行此操作

一个。use IlluminateSupportFacadesDB;

B.函数内部public function boot(): void写在行下面

DB::statement("SET SQL_MODE= ''");

相关内容

最新更新