如何在activerecord中使用大于和“或”条件? 这是我想要做的:
@contract_dues_now = ContractDue.where(:status => ['Unpaid', 'Partially Paid']).
where(due_date: Date.today || ContractDue.arel_table[:due_date].gt(Date.today)).
group(:contract_id).order(:due_date)
这对我来说似乎不对,因为我的查询结果没有像它想象的那样输出OR语句:
答案 0 :(得分:1)
这应该这样做:
@contract_dues_now = ContractDue.where(:status => ['Unpaid', 'Partially Paid']).
where('contract_dues.due_date = ? OR contract_dues.due_date > ?', Date.today, Date.today).
group(:contract_id).order(:due_date)
答案 1 :(得分:0)
arel支持或运营商。
where(ContractDue.arel_table[:due_date].eq(Date.today).or(ContractDue.arel_table[:due_date].gt(Date.today)))