我的帖子记录的日期为created_at
,日期可能为schedule
。
创建帖子后,可以安排该帖子或将其另存为草稿。
我想在日历上显示两个日期之间计划或起草的所有帖子。
drafts = posts.where(schedule: nil).where(:created_at => post_start.to_date..post_end.to_date)
scheduled = posts.where(:schedule => post_start.to_date..post_end.to_date)
@posts = drafts + scheduled
这将起作用。但是必须有一种方法可以更有效地将它们组合成一个查询。怎么样?
答案 0 :(得分:0)
您可以尝试使用or
组合这些查询。
posts.or(
Post.where(schedule: nil).where(:created_at => post_start.to_date..post_end.to_date).selector,
Post.where(:schedule.ne => nil).where(:schedule => post_start.to_date..post_end.to_date).selector
)