簡體   English   中英

如何在 Ruby 中編寫查詢來檢查特定時間 object 是否小於 1 小時或 3 小時

[英]How to write query in Ruby to check certain time object is less than 1 hour or 3 hour

我在 ruby 中有一個Trip model,它有start_at列,如果start_at少於 1 小時或 3 小時,我需要得到Trip object(只有當start_at小於 1 小時或小於 3 小時時,我應該得到 Trip object 不小於 2 小時,小於 4 小時, ..... ETC)。

注意:我有每 15 分鍾運行一次的Cron作業,以獲取行程object,如上所述。

示例:假設我有一個 start_at = 9:00 am 並且當前時間是 10:00 am 的行程,我應該得到該行程 object。同樣持續 3 小時(start_at = 9:00 am,當前時間是 12:00 am )

^^ 除了以上兩種情況我不應該得到行程 object,只需要不到 1 小時或 3 小時

這是我試過的

Trip.where("start_at < ? ", 1.hour.ago)

但上面的查詢返回行程 object 即使 start_at < 2 小時前,4 小時前,.....等等等等

我是 Ruby 的新手,我們將不勝感激。 謝謝!

Trip.where(start_at: 2.hours.ago..1.hour.ago).or(Trip.where(start_at: 4.hours.ago..3.hour.ago))

您可以使用查詢,或使用數組值:

Trip.where(start_at: [2.hours.ago..1.hour.ago, 4.hours.ago..3.hour.ago])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM