【发布时间】:2017-04-26 14:33:01
【问题描述】:
所以我有一个看起来像这样的 AR 模型(所有字符串和日期属性):
增强现实 driver_id 司机姓名 driver_license 付款时间(日期) ... helper_id helper_name helper_license paid_on_helper(日期)
我有这个查询显示未付款
def self.unpaid
result1 = AR.where(:paid_on => nil).in(:status => [AR::TRANSACTION_COMPLETE,AR::CANCELLED_BY_REQUESTER]).gt(:total_owed_to_driver => 0).asc(:assigned_driver_id).asc(:timestamp_requested)
result2 = AR.where(:paid_on_helper => nil, :assigned_driver2_id.ne => nil).in(:status => [AR::TRANSACTION_COMPLETE,AR::CANCELLED_BY_REQUESTER]).gt(:total_owed_to_driver => 0).asc(:assigned_driver2_id).asc(:timestamp_requested)
result1.to_a.concat(result2.to_a)
result1
end
问题是,当我以这种方式合并两者时,我最终会得到一个这样的数组。
Joe (main driver)
Joe (main driver)
Joe (main driver)
Bob (main driver)
Bob (main driver)
Larry (main driver)
Larry (main driver)
Larry (main driver)
Joe (2nd driver)
Joe (2nd driver)
Bob (2nd driver)
Bob (2nd driver)
Bob (2nd driver)
Bob (2nd driver)
Larry (2nd driver)
Larry (2nd driver)
我需要的是一个这样结束的数组。
Joe (main driver)
Joe (main driver)
Joe (main driver)
Joe (2nd driver)
Joe (2nd driver)
Bob (main driver)
Bob (main driver)
Bob (2nd driver)
Bob (2nd driver)
Bob (2nd driver)
Bob (2nd driver)
Larry (main driver)
Larry (main driver)
Larry (main driver)
Larry (2nd driver)
Larry (2nd driver)
我猜它的排序结合了二级或三级 where 子句?
【问题讨论】:
标签: ruby-on-rails ruby mongodb