Rails 3 ActiveRecord условно включает? - PullRequest
15 голосов
/ 02 февраля 2011

Я знаю, что это можно сделать:

Article.where("published_at <= ?", Time.now).includes(:comments)

Но что, если я хотел бы получать комментарии только за последний месяц?

Допускает ли оператор .include условия?

Ответы [ 2 ]

13 голосов
/ 02 февраля 2011
Article.includes(:comments).where("articles.published_at <= ? and comments.created_at >= ?", Time.now, Time.now - 1.month)

РЕДАКТИРОВАТЬ:

Article.joins(:comments).where("articles.published_at <= ? and comments.created_at >= ?", Time.now, Time.now - 1.month)
4 голосов
/ 17 декабря 2015

В Rails4 должно быть: Article.includes(:comments).where("articles.published_at <= ? and comments.created_at >= ?", Time.now, Time.now - 1.month).references(:comments)

Источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...