Запрос ActiveRecord через ассоциации - PullRequest
2 голосов
/ 15 июля 2011

У меня есть модель пользователя и модель группы. Пользователь has_and_belongs_to_many: группы и группы has_and_belongs_to_many: пользователи.

Я хотел бы использовать ActiveRecord для запроса всех пользователей во всех группах, в которых находится определенный пользователь. Я могу получить все группы через @ user.groups и вручную объединить @ user.groups.members, удалив дубликаты как Я могу найти (пользователь может быть в нескольких группах вместе с другим пользователем, но я хочу, чтобы имя этого другого пользователя было только один раз).

Но есть ли лучший способ сделать это?

1 Ответ

4 голосов
/ 15 июля 2011

Вы должны быть в состоянии сделать что-то вроде этого:

User.includes(:groups).where("groups.id in (?)", @user.group_ids)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...