sintassi corretta in RoR per il tempo in datetime confronto
-
27-09-2019 - |
Domanda
Sto cercando di attribuire il parametro tempo con .to_date
per generare il confronto corretto
Organization.find(1140).events.all(:conditions => ["time < ?", Time.now.beginning_of_day]).blank?
Come potrei farlo? Ho provato questo:
Organization.find(1140).events.all(:conditions => [time.to_date < ?, Time.now.beginning_of_day]).blank?
E questo è un grande fail: D
Soluzione
Si può fare qualcosa di simile:
Organization.find(1140).events.all(:conditions => ["DATE(time) < ?", Date.today]).blank?
DATE()
è una funzione mysql per analizzare il valore dato al formato di data. E se si desidera confrontare date che dovrebbe usare Date.today
invece di Time.now.beginning_of_day
, è molto più breve e più leggibile.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow