У меня возникла проблема с реализацией group_by и с запросами, использующими Eloquent в Laravel.
Вот сценарий:
orders - id - qty deliveries - id - qty - order_id
Я хочу использовать соединение для отображения заказов с неполными поставками, а также соответствующий баланс:
Order::left_join('deliveries', 'orders.id', '=', 'deliveries.order_id') ->select(array('orders.*'), DB::raw('orders.qty - IFNULL(sum(deliveries.qty),0) AS balance'))) ->group_by('order_id') ->having('balance', '>', 0) ->get();
Значение «balance» отлично работает без предложения «having». Однако при добавлении предложения 'having' итоговая таблица не отображает строки. У кого-нибудь есть идеи?
Заранее спасибо!
Закончилось переключение на Laravel 4 и выполнение ff, который, казалось, работал.
Order::leftJoin('deliveries', 'orders.id', '=', 'deliveries.order_id') ->select(array('orders.*'), DB::raw('orders.qty - IFNULL(sum(deliveries.qty),0) AS balance'))) ->groupBy('order_id') ->havingRaw('balance > 0') ->get();