Страницы

Поиск по вопросам

воскресенье, 22 декабря 2019 г.

Как отфильтровать данные и поставить условие на date

#ruby_on_rails


Есть запрос такого вида 

Сущность.where(calendars: {date: "1.07.2015"}).count


Мне возвращает количество записей с значением "1.07.2015" в поле date. Но мне надо
запрашивать именно 7й месяц (или любой другой). Как отфильтровать и поставить условие
на date?

Вот код самой миграции

create_table :calendar do |t|           
  t.belongs_to :user, index: true
  t.belongs_to :days_info, index: true
  t.datetime :date
  t.timestamps
end

    


Ответы

Ответ 1



Попробуйте так: What.where(calendars: {date: '1.07.2015'.to_date...'1.07.2015'.to_date + 1.month}).count

Ответ 2



date = '1.07.2015' daterange = date.to_datetime.beginning_of_month..date.to_datetime.end_of_month Item.includes(:calendars).where(calendars: {date: daterange}).count

Ответ 3



В общем удалил поле date:datetime и создал два поля month:integer и year:integer. Да избыточности много....

Комментариев нет:

Отправить комментарий