以下に相当する適切な Rails 抽象化 SQL ステートメントを作成しようとしています。
SELECT * FROM model WHERE DATE_SUB(date_field, INTERVAL 7 DAY) < CURDATE()
文字列 SQL を Rails で実行するように記述できることはわかっていますが、コード データベース プラットフォームに依存しない抽象的な方法で記述できると便利です。
以下に相当する適切な Rails 抽象化 SQL ステートメントを作成しようとしています。
SELECT * FROM model WHERE DATE_SUB(date_field, INTERVAL 7 DAY) < CURDATE()
文字列 SQL を Rails で実行するように記述できることはわかっていますが、コード データベース プラットフォームに依存しない抽象的な方法で記述できると便利です。
実際、それは非常に簡単です:
Model.all( :conditions => [ "date_field BETWEEN ? AND ?", 7.days.ago, Date.today ])
そして、あなたはそれを持っています。
スクイーズパワーFTW!!!
$ gem install squeel
model.rb
Model.where{date_colum > 10.years.ago & date_column < DateTime.now}