Как найти соответствие has_and_belongs_to_many между двумя моделями - PullRequest
0 голосов
/ 25 февраля 2011

Допустим, у меня есть две модели: Debater и Team.

Команда has_and_belongs_to_many Участники дебатов и наоборот.

Я хочу иметь возможность запрашивать из класса Team, чтобы найти команды, у которых есть два указанных участника дебатов.

Я также хотел бы иметь возможность сделать запрос из класса Debater, чтобы выяснить, есть ли у участника обсуждения команда с указанным участником.

Заранее спасибо!

1 Ответ

0 голосов
/ 25 февраля 2011

С @team.debaters вы получаете всех участников этой команды.С другой стороны, вы можете собрать все команды для участия в дискуссии с @debater.teams.Теперь, если вы хотите получить все команды, в которых присутствуют два участника дебатов, вы можете сделать Team.where("debater_id == #{id1} OR debater_id == #{id2}").

Для вашего последнего пункта (можно узнать из класса Debater, есть ли у участника дебатов команда с указанным дебатором) вы можете попробовать следующее @debater.teams.where(:debater_id => DEBATER_ID)

Надеюсь, это поможет!

...