2017-01-12 18 views
0

イベントと呼ばれる単純なモデルがあります。時間枠間でレコードを取得する方法

次の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 

答えて

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分))

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