Php 通过使用雄辩的语言在Laravel实施小组讨论

Php 通过使用雄辩的语言在Laravel实施小组讨论,php,group-by,laravel,eloquent,having,Php,Group By,Laravel,Eloquent,Having,我在执行group_时遇到困难,并且在Laravel中使用Elount进行查询 以下是场景: orders - id - qty deliveries - id - qty - order_id 我想使用联接来显示未完成交货的订单以及相应的余额: Order::left_join('deliveries', 'orders.id', '=', 'deliveries.order_id') ->select(array('orders.*'), DB::raw('or

我在执行group_时遇到困难,并且在Laravel中使用Elount进行查询

以下是场景:

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();
“余额”值在没有“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();