0

ActiveRecord querying содержит раздел «Указание условий для групп с заряженными нагрузками». В частности, раздел 13.2.Задание условий для вложенных нетерпеливых ассоциаций

В соответствии с этим я могу сделать следующее:

Article.includes(:comments).where(comments: { visible: true }) 

Что делать, если я хотел сделать что-то вроде этого ...

Article.where(param: "this").includes(user: [:comments]).where(comments: { text: "wow" }) 

Конечно, выше не работает, я хотел бы иметь возможность достичь этого с помощью некоторого запроса.

Как он стоит, после моего запроса я делаю articles[3].user.comments.select { |comment| comment.text == "wow" }

Во всяком случае для достижения выше?

+0

Вы можете попробовать это 'Article.includes (пользователь: [: комментарии]). где (id: 3, comments: {text: "wow"}) ' – Pavan

ответ

0

Прежде всего, вам не нужно с нетерпением загружать, чтобы выбирать комментарии из одной статьи (как я понял, вы пытаетесь это сделать).

Для данной статьи

@article = Article.first 

Вы можете запросить все комментарии с текстом 'вау', используя таблицу, соединяющую

@comments = @article.comments.where(text: 'wow') 
Смежные вопросы