Найти набор, который принадлежит_ другому набору - PullRequest
0 голосов
/ 04 октября 2010

Я уверен, что есть простой ответ на этот вопрос, но не знаю, как сформулировать его для поиска.

Учитывая, что статьи принадлежат пользователям, если у меня есть набор из трех разных пользователей, какмогу ли я получить доступ ко всем статьям, написанным кем-либо из этих пользователей, одним запросом?

Ответы [ 2 ]

0 голосов
/ 04 октября 2010

Ответ hellvinz помог мне разобраться с этим :) Поскольку статьи принадлежат пользователям, это означает, что у них есть атрибут user_id.Теперь я чувствую себя довольно глупо xD

user_ids = users.map(&:id)
articles = Article.all :conditions => {:user_id => user_ids}

Сохраняет соединение, создавая более простой запрос.

Спасибо!

0 голосов
/ 04 октября 2010

Учитывая, что user_ids является массивом идентификаторов пользователя:

Article.all(:joins => :users, :conditions => ["users.id in ?", user_ids])
...