2012-10-22 33 views
0

我想在where語句做一些時間計算。我想選擇生活時間已經過去的優惠。在Rails中的時間計算語句

select_offers = Offer.where { (published_time + life_time) < DateTime.now } 

它不會拋出任何錯誤,但它也不會返回對象。我正在使用squeel寶石。什麼是最好的方法呢?

+0

什麼是你'life_time'的數據類型的功能? – Salil

+0

它是'int',但是在'published_time + life_time'看來可以正常工作並且可以添加幾天。在哪裏statemet life_time.days不起作用。 – Jaro

+0

你確定你使用的是正確的大小?我相信當rails比較兩種不同格式的日期類型時,它會將日期轉換爲自時代以來的秒數 –

回答

1

假設life_time是報價有效的天數。

select_offers = Offer.where(["DATE_ADD(published_time, INTERVAL life_time DAY) < ? " , DateTime.now ] 

參考: - DATE_ADD mysql的

+0

它的工作,謝謝:D – Jaro