所以,我需要做一个查询,它的工作原理如下:
首先,它将显示日期属性" end_date“大于当前日期、"release_date”属性小于当前日期的元素(例如:今天是9月15日,end_date是20日,release是12日)。这些元素是“活动的”。
在显示这些元素之后,我想按降序显示过去的元素-过去的元素是那些"end_date“小于当前日期的元素。
如果能帮助我构建这个查询,我将不胜感激。谢谢!
附注:我使用的是PostgreSQL、Ruby2.2.0和Rails 4.2.1
发布于 2015-09-14 17:18:13
其中一个选项是进行两个查询,然后合并ActiveRecord::Relation对象。也许效率不是很高(2个查询),但很容易理解和重构。
@relevant_elements = Element.where('end_date > :current_date AND release_date < :current_date', current_date: Date.today).order('end_date ASC')
@past_elements = Element.where('end_date < :current_date', current_date: Date.today).order('end_date DESC')
@elements = @relevant_elements.merge(@past_elements)https://stackoverflow.com/questions/32561019
复制相似问题