2010-08-11 9 views
0

Je suis en train d'attribuer le temps avec param .to_date pour générer la comparaison appropriéesyntaxe correcte en RoR pour le temps en comparaison datetime

Organization.find(1140).events.all(:conditions => ["time < ?", Time.now.beginning_of_day]).blank? 

Comment puis-je faire cela? J'ai essayé ceci:

Organization.find(1140).events.all(:conditions => [time.to_date < ?, Time.now.beginning_of_day]).blank? 

Et c'est un grand échec: D

Répondre

1

Vous pouvez faire quelque chose comme ceci:

Organization.find(1140).events.all(:conditions => ["DATE(time) < ?", Date.today]).blank? 

DATE() est une fonction MySQL pour analyser la valeur donnée au format de la date. Et si vous voulez comparer les dates, vous devez utiliser Date.today au lieu de Time.now.beginning_of_day, c'est beaucoup plus court et plus lisible.