我如何用两个日期范围写出查询的位置?唯一的条件是必须通过一个查询检索此数据。谢谢。
UPD:或如何在一个集合中结合2个查询?不是数组
答案 0 :(得分:6)
您可以轻松or
这两个范围:
Post.all.
or(:created_at.gt => Time.now - 3.months, :created_at.lte => Time.now - 2.months).
or(:created_at.gt => Time.now - 1.month, :created_at.lte => Time.now)
答案 1 :(得分:0)
可以使用 any_of 条件完成联盟。 any_of标准类似于SQL OR,别名为"或"为了便于阅读。这是如何查询两个时间范围。
date1 = Date.new(2016,2,3)
date2 = Date.new(2016,2,4)
date3 = Date.new(2016,3,3)
date4 = Date.new(2016,3,4)
User.any_of({:created_at=> date1..date2},{:created => date3..date4})