我有一个使用Rails时间戳的模型A
和一个名为ttl
的属性,它表示每次更新记录之间的时间(以分钟为单位)。
我想选择所有应该更新的记录:
WHERE (Time.now - updated_at).to_minutes > ttl)
我一直在尝试使用Feed.where("(?-updated_at) > ttl", Time.now).to_a
的变体,但我还没有成功。有人可以帮我查询吗?
答案 0 :(得分:2)
原因是,数据库不能像算术计算一样进行时间计算 你必须使用数据库的时间函数,遗憾的是没有标准。
在MySQL中你可以使用
Feed.where("TIMESTAMPADD(MINUTE,ttl,updated_at)<?",Time.now)