使用可变间隔w / rails在日期之间搜索

时间:2012-12-24 17:06:54

标签: ruby-on-rails database postgresql datetime

我想知道如何通过数据库查询处理这个问题,而不是查找所有网站。

Site.all.select { |x| x.last_ran <= DateTime.now - x.interval.minutes }

基本上我需要在间隔之前找到last_ran的所有网站。因此,如果我在12点和12点06分运行我的网站,但间隔时间为5分钟,则此查询将返回该网站。

我遇到的问题是在数据库级别转换x.interval.minutes(5.minutes)。

谢谢 - 如果有特定于db的方法,我也会使用postgres!

1 个答案:

答案 0 :(得分:1)

在postgres中这可行...

Site.where(
  "sites.last_ran <= CURRENT_TIMESTAMP - sites.interval * INTERVAL '1 second'"
)

我认为您可以使用NOW()CURRENT_TIMESTAMP