Sintaxe adequada no ROR para o tempo na comparação de DateTime
-
27-09-2019 - |
Pergunta
Estou tentando atribuir o param de tempo com .to_date
Para gerar a comparação adequada
Organization.find(1140).events.all(:conditions => ["time < ?", Time.now.beginning_of_day]).blank?
Como eu faria isso? Eu tentei o seguinte:
Organization.find(1140).events.all(:conditions => [time.to_date < ?, Time.now.beginning_of_day]).blank?
E isso é uma grande falha: D
Solução
Você pode fazer algo assim:
Organization.find(1140).events.all(:conditions => ["DATE(time) < ?", Date.today]).blank?
DATE()
é uma função MySQL para analisar o valor fornecido até o formato de data. E se você quiser comparar datas que deve usar Date.today
ao invés de Time.now.beginning_of_day
, é muito mais curto e mais legível.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow