2

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

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

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

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

谢谢 - 如果有特定的数据库方法可以做到这一点,我也会使用 postgres!

4

1 回答 1

1

在 postgres 中,这将工作......

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

我想你可以使用NOW()或者CURRENT_TIMESTAMP

于 2012-12-24T17:11:54.787 回答