0

我有一个A使用 Rails 时间戳的模型和一个名为的属性ttl,它表示每次更新记录之间的时间(以分钟为单位)。

我想选择所有应该更新的记录:

WHERE (Time.now - updated_at).to_minutes > ttl)

我一直在尝试使用的变体,Feed.where("(?-updated_at) > ttl", Time.now).to_a但我还没有成功。有人可以帮我查询吗?

4

1 回答 1

2

原因是,数据库不能像算术计算那样进行时间计算。
你必须使用数据库的时间功能,不幸的是没有标准。

在 MySQL 中,您可以使用

Feed.where("TIMESTAMPADD(MINUTE,ttl,updated_at)<?",Time.now)
于 2013-07-18T08:06:26.373 回答