Правильный синтаксис в ROR за время сравнения DateTime

StackOverflow https://stackoverflow.com/questions/3461821

  •  27-09-2019
  •  | 
  •  

Вопрос

Я пытаюсь приписать временем .to_date генерировать правильное сравнение

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

Как бы я это сделал? Я попробовал это:

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

И это большой провал: D

Это было полезно?

Решение

Вы можете сделать что-то вроде этого:

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

DATE() Это функция MySQL для анализа заданного значения на сегодняшний день. И если вы хотите сравнить даты, вы должны использовать Date.today вместо Time.now.beginning_of_day, Это намного короче и читабелее.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top