【发布时间】:2020-07-05 00:06:38
【问题描述】:
我想把下面的sql语句转成eloquent:
select order_number, order_id, sum(quantity) as qty, sum(price) as pr from `orders` right join `order_details` on `orders`.`id` = `order_details`.`order_id` group by `order_number`
我这样做如下:
$order = OrderDetails::select(DB::raw('order_number, order_id, sum(quantity) as qty, sum(price) as pr'))
->from('orders')
->rightJoin('order_details', 'orders.id', '=', 'order_details.order_id')
->groupBy('order_number')
->get();
dd($order);
问题是它正在转换为相同的 sql 但显示错误。错误如下所示: *
Illuminate \ Database \ QueryException (42000) SQLSTATE[42000]: Syntax error or access violation: 1055 'techvillege.order_details.order_id' isn't in GROUP BY (SQL: selectorder_number, order_id, sum(quantity) as qty, sum(price) as pr from
orders右加入order_details上orders.id=order_details.order_idgroup byorder_number)
* 这些表是: orders table order_details 我真的不知道这里的确切问题是什么,并且在过去的两天里一直坚持下去。请有人帮助我。提前致谢。
【问题讨论】:
标签: sql database laravel eloquent subquery