假設我有一個稱爲遊戲的模型。從模型中選擇所有響應模型方法的對象
這種模式有兩個字段,起始日期(時間戳)和的時限(整數)
我要選擇所有對象,也將返回true給下面的語句:
start_date + time_limit.minutes > Time.now
我設法讓所有start_date大於時間的對象,但這不是我想要的。
Game.where(["start_date > ?", Time.now])
我應該怎麼做?
假設我有一個稱爲遊戲的模型。從模型中選擇所有響應模型方法的對象
這種模式有兩個字段,起始日期(時間戳)和的時限(整數)
我要選擇所有對象,也將返回true給下面的語句:
start_date + time_limit.minutes > Time.now
我設法讓所有start_date大於時間的對象,但這不是我想要的。
Game.where(["start_date > ?", Time.now])
我應該怎麼做?
PostgreSQL的
Game.where("start_date > now() - time_limit * interval '1 MINUTE'")
謝謝,那是我想要的。 – Krzysztof
由於start_date + time_limit.minutes > Time.now
這是一個簡單的不等式,你也可以寫的一樣:start_date > Time.now - time_limit.minutes
所以您的查詢應該是:
Game.where(["start_date > ?", Time.now - time_limit.minutes])
✌️
任務離子 - 你使用什麼數據庫適配器? (MySQL,Postgres等)並且總是在幾分鐘內處於'time_limit'? –