我有一个名为Event的简单模型。
我正试图在接下来的30分钟内抓住scheduled_at:datetime
的事件。
我已经尝试过了,但它不能像我需要的那样工作 - 我一定是做错了。
Event.where('scheduled_at > ?', Chronic.parse('now'))
.where('scheduled_at < ?', Chronic.parse('30 minutes from now'))
.find_each do |event|
puts event.id
end
答案 0 :(得分:3)
您可以使用:
Event.where(scheduled_at: DateTime.now..(DateTime.now + 30.mins))
答案 1 :(得分:0)
以下查询将为您提供给定日期和时间之间的数据。更好的是你只需检查控制台内的记录。
Event.where('date(scheduled_at) > ?', Chronic.parse('now'))
.where('date(scheduled_at) < ?', Chronic.parse('30 minutes from now'))
答案 2 :(得分:0)
Event.where(scheduled_at:DateTime.now ..(DateTime.now + 30.minutes))
Event.where(:scheduled_at =&gt; DateTime.now ..(Time.zone.now + 30.minutes))
Event.where {'scheduled_at? “&GT; DateTime.now&amp; 'scheduled_at?' &LT; DateTime.now + 30.mins}