【问题标题】:Implementing group_by and having in Laravel using Eloquent使用 Eloquent 实现 group_by 并在 Laravel 中使用
【发布时间】:2013-06-07 04:29:18
【问题描述】:

我在实现 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();

没有 'have' 子句的 'balance' 值可以正常工作。然而,在添加 'have' 子句时,结果表不显示任何行。有人有什么想法吗?

提前致谢!

【问题讨论】:

    标签: php group-by laravel eloquent having


    【解决方案1】:

    最终切换到 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();
    

    【讨论】:

      猜你喜欢
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2014-12-28
      • 2020-09-04
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      相关资源
      最近更新 更多