2017-01-12 2 views
0

У меня есть простая модель Event.Как получить записи между таймфреймом

Я пытаюсь захватить События, у которых есть scheduled_at:datetime в течение следующих 30 минут.

Я пробовал это, но он не работает, как будто мне это нужно - я должен делать что-то неправильно.

Event.where('scheduled_at > ?', Chronic.parse('now')) 
    .where('scheduled_at < ?', Chronic.parse('30 minutes from now')) 
    .find_each do |event| 
    puts event.id 
end 

ответ

3

Вы можете использовать:

Event.where(scheduled_at: DateTime.now..(DateTime.now + 30.mins)) 
0

Ниже запрос даст вам данные между заданными датами и временем. Лучше просто проверить записи внутри консоли.

Event.where('date(scheduled_at) > ?', Chronic.parse('now')) 
    .where('date(scheduled_at) < ?', Chronic.parse('30 minutes from now')) 
0

Event.where (scheduled_at: DateTime.now .. (DateTime.now + 30.minutes))

Event.where (: scheduled_at => DateTime.now .. (Time.zone. теперь + 30.minutes))

Event.where {'schedule_at? '> DateTime.now &' schedule_at? ' < DateTime.now + 30.mins}

Смежные вопросы