Rails Active Record запрашивает только поле даты в значении datetime созданного - PullRequest
0 голосов
/ 03 января 2019

Я хочу вернуть некоторые записи из моей таблицы "count".

Как получить только часть даты в поле create_at, используя date (creation_at), как показано ниже.

Count.where(channel_id: channel_id)
     .where(date(created_at:) :date Date.yesterday)
     .followers

Спасибо за любые советы.

Саймон

1 Ответ

0 голосов
/ 03 января 2019

Простой трюк заключается в использовании предложения BETWEEN, достижимого без написания чистого SQL и просто с помощью ActiveRecord:

Count
  .where(channel_id: channel_id)
  .where(created_at: Date.yesterday.beginning_of_day..Date.yesterday.end_of_day)

Это будет переводить в следующий SQL:

WHERE ("counts"."created_at" BETWEEN '2019-01-02 00:00:00.000000' AND '2019-01-02 23:59:59.999999')
...