根据时间选择记录

时间:2013-07-18 07:56:47

标签: ruby-on-rails rails-activerecord

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

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

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

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

1 个答案:

答案 0 :(得分:2)

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

在MySQL中你可以使用

Feed.where("TIMESTAMPADD(MINUTE,ttl,updated_at)<?",Time.now)