我将以下内容用作 ActiveRecord 查找方法的一部分:
:conditions => "created_at > date_sub(now(), INTERVAL 7 DAY)"
这在我使用 MySQL 的开发服务器上正常工作,但我正在部署到没有 date_sub 函数的 postgreSQL。忽略我使用两个不同数据库的事实,Rails 是否有任何内置的东西来抽象这个日期减法操作?
如果没有,Rails 中是否有推荐的构造来指定在遇到不同的数据库时应该运行的两个不同的 SQL 查询?
最佳答案
你可以做
Object.find(:all, :conditions => ["created_at > ?", 7.days.ago])
#=> SELECT * FROM "objects" WHERE (created_at > '2010-02-03 12:06:19.352398')
应该跨不同的数据库工作
关于sql - 使用 Rails 抽象日期减法 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236274/