我有一个旅行start_at列,我需要得到Tripstart_at小于1小时或3小时(只有当start_at时,我应该得到trip对象)& lt;1小时或<3小时不为<2小时,& lt;4人力资源,……等等)。
注意:我有Cron每15分钟运行一次的作业。到达的时间对象示例:假设我有一个旅行,start_at = 9:00 am,当前时间是10:00 am,我应该得到那个trip对象。3小时也是如此(start_at = 9:00 am,当前时间为12:00 am)
^^除以上两种情况外,我不应该得到trip对象,只需要得到少于1hr或3hr
这是我尝试过的
Trip.where("start_at < ? ", 1.hour.ago)
但上面的查询返回旅行对象即使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])