2013-06-07 18 views
3

Laravel의 Eloquent를 사용하여 group_by를 구현하고 쿼리하는 데 문제가 있습니다. '균형'값이 잘 작동group_by를 구현하고 Eloquent를 사용하여 Laravel에 있음

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

: 나는 불완전 배달로 주문뿐만 아니라 corresponging 밸런스를 표시하는 조인을 사용하려는

orders 
- id 
- qty 

deliveries 
- id 
- qty 
- order_id 

: 여기

는 시나리오 'having'조항없이. 그러나 '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(); 
관련 문제