0
我使用以下原料的Postgres SQL中我where()
打電話找記錄,其中some_date
是再過兩天:如何在不使用SQL的情況下指定這個`WHERE`條件?
SomeModel.where('date(some_date) - date(NOW()) = 2')
它可以使用純ActiveRecord的語法,而不原始的SQL寫?
我使用以下原料的Postgres SQL中我where()
打電話找記錄,其中some_date
是再過兩天:如何在不使用SQL的情況下指定這個`WHERE`條件?
SomeModel.where('date(some_date) - date(NOW()) = 2')
它可以使用純ActiveRecord的語法,而不原始的SQL寫?
這應該工作,但沒有經過測試。
SomeModel.where('date(some_date) = ?', 2.days.ago.to_date)
#or
SomeModel.where('some_date::date = ?', 2.days.ago.to_date)
如果你希望它是任何純淨,無date
SQL函數,我沒有看到它,至少在沒有創建一個數據庫視圖。
不幸的是,這不適用於採用哈希的where()版本。 :( –
不,沒錯,你需要那個嗎? – Iceman
這樣會很好,但是我可以沒有它,除非你知道一個簡單的方法...... –