syntaxe correcte en RoR pour le temps en comparaison datetime
-
27-09-2019 - |
Question
J'essaie d'attribuer le temps avec param .to_date
pour générer la comparaison appropriée
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
La solution
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 que vous devez utiliser Date.today
au lieu de Time.now.beginning_of_day
, il est beaucoup plus court et plus facile à lire.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow