2016-04-04 13 views
3

Toplantılarım modelinde, meeting_date adında bir dateTime alanı var. Tarihin sadece tarih tarihini geçerli tarihe göre karşılaştır

<% @meetings = Meeting.where(meeting_date.to_date == Date.today.to_s %> 

Bu nasıl sağlanabilir: Ben bunun gibi bir yolla bir .Where (...) sorgusunda kullanmak istiyorum?

Meeting.where('CAST(meeting_date AS DATE) = ?', Date.current) 

Ya neticede:

cevap

4

Eğer DB sisteminin CAST yöntemini kullanabilirsiniz 00:00:00 de bugünün tarihi arasındaki buluşma tarihi olan tüm Toplantıları almak için

Meeting.where(meeting_date: Date.current.beginning_of_day..Date.current.end_of_day) 

ve bugün 23:59:59

+0

İkinci kod parçası çok teşekkürler! Bana izin verdiği zaman kabul eder. – Yoklan

+1

Ayrıca şunları yazabilirsiniz: 'Meeting.where (meeting_date: Time.current.all_day)' – Stefan

0

de yapmanız gereken: <% @meetings = Meeting.where (meeting_date: Date.today.to_datetime .. (Date.today + 1.day-1.minute) .to_ datetime)%>

İlgili konular