Rails编写抽象DateTime计算SQL条件的方法

时间:2012-06-04 21:08:22

标签: ruby activesupport

我正在尝试编写一个等效于:

的正确Rails抽象SQL语句

SELECT * FROM model WHERE DATE_SUB(date_field, INTERVAL 7 DAY) < CURDATE()

虽然我知道可以在Rails中编写字符串SQL来执行,但能够以一种抽象的方式编写它以保持我的代码数据库平台不可知。

2 个答案:

答案 0 :(得分:2)

事实很简单:

Model.all( :conditions => [ "date_field BETWEEN ? AND ?", 7.days.ago, Date.today ])

你拥有它。

答案 1 :(得分:0)

Squeel power FTW !!!

$ gem install squeel

model.rb

Model.where{date_colum > 10.years.ago & date_column < DateTime.now}