2016-02-09 54 views
0

假設我有一個稱爲遊戲的模型。從模型中選擇所有響應模型方法的對象

這種模式有兩個字段,起始日期(時間戳)和的時限(整數)

我要選擇所有對象,也將返回true給下面的語句:

start_date + time_limit.minutes > Time.now 

我設法讓所有start_date大於時間的對象,但這不是我想要的。

Game.where(["start_date > ?", Time.now]) 

我應該怎麼做?

+0

任務離子 - 你使用什麼數據庫適配器? (MySQL,Postgres等)並且總是在幾分鐘內處於'time_limit'? –

回答

1

PostgreSQL的

Game.where("start_date > now() - time_limit * interval '1 MINUTE'") 
+0

謝謝,那是我想要的。 – Krzysztof

-1

由於start_date + time_limit.minutes > Time.now這是一個簡單的不等式,你也可以寫的一樣:start_date > Time.now - time_limit.minutes

所以您的查詢應該是:

Game.where(["start_date > ?", Time.now - time_limit.minutes]) 

✌️

相關問題