php – 使用Eloquent实现group_by并使用Laravel

我在实现group_by和在Laravel中使用Eloquent进行查询时遇到了问题.

这是场景:

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’子句,’balance’值可以正常工作.但是,在添加’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();

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...