Я хочу преобразовать следующий оператор 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: select
номер_оказа, номер_оказа, сумма (количество) как кол-во, сумма (цена) как pr от orders
правое соединение order_details
на orders
. id
= order_details
. order_id
группировка по order_number
)
* Таблицы: таблица заказов order_details Я действительно не знать, в чем именно заключается проблема, и придерживаться ее в течение последних двух дней. Пожалуйста, кто-нибудь, помогите мне. Заранее спасибо.