2013-06-07 3 views
3

У меня возникли проблемы с реализацией group_by и с запросами с использованием Eloquent в Laravel.Реализация group_by и наличие в Laravel с использованием Eloquent

Вот сценарий:

orders 
- id 
- qty 

deliveries 
- id 
- qty 
- order_id 

Я хочу использовать объединение, чтобы отобразить заказы с неполной поставки, а также corresponging баланс:

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(); 

Значение «баланс» работает нормально без предложения «иметь». Однако при добавлении предложения 'having' итоговая таблица не отображает строки. У кого-нибудь есть идеи?

Заранее благодарен!

ответ

13

Закончено переключение на 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(); 

 Смежные вопросы

  • Нет связанных вопросов^_^