我有状态为(待定,已完成),取货日期,取货日期的订单。
我想根据地位有条件地订购。
如果状态为挂起,则应按取货时间订购。
如果状态为“已完成”,则应按交货时间订购。

最佳答案

我们可以在作用域中的单个查询中执行此操作,如下所示:

scope :order_by_time, -> { order("CASE WHEN (orders.state IN ('pending', 'picked_up')) THEN 'orders.pick_up_time' WHEN (orders.state IN ('ready_for_delivery', 'delivered')) THEN 'orders.delivery_time' END") }

关于mysql - 编写ActiveRecord查询,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42780020/

10-13 00:35