#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. Да избыточности много....
Комментариев нет:
Отправить комментарий