Rails 3.1 - 在开始日期和结束日期之间获得结果?

时间:2012-09-02 15:03:04

标签: sql ruby-on-rails-3 activerecord

我有一个活动列表网站,我目前正在列出today发生的事件:

def load_today_events
 @today_events = Event.find(:all, :conditions => ['start_date =?', Date.today])
end

这非常有效。

我最近为超过一天的活动引入了end_date

显然,上述代码一旦start_date通过,该事件就会从我的商家信息中消失。

我可能在这里有心理障碍,但我不能为我的生活弄清楚如何显示开始日期已经过去但结束日期没有的事件。

我想我想要的是:

查找date.today等于或start_dateend_date 之间的事件

任何想法如何最好地解决这个问题?

1 个答案:

答案 0 :(得分:1)

不确定我是否理解这一点,但这里有一些关于日期可以做些什么的例子 在下面的示例中,current_date是今天日期的postgresql函数。这将匹配current_date大于或等于start_date且小于end_date的事件。

@today_events = Event.where("current_date >=  ? and current_date <= ?", start_date, end_date)

另一种方法可能是这样的:

@today_events = Event.where("start_date >=  ? and end_date <= ?", start_date, end_date)

此示例显示来自当前日期间隔的事件 这是基础知识,所以我希望你能适用于你自己的问题。