Найти записи с более чем одной ассоциацией ActiveRecord HABTM - PullRequest
4 голосов
/ 15 октября 2008

У меня есть две модели, объединенные таблицей Has и Belongs To Many. Давайте назовем эти модели User и Event. Большинство пользователей имеют 0 событий, в то время как немногие имеют одно или несколько. Я хочу сделать что-то вроде:

User.find (: все,: присоединения =>: события,: условия => [" 'что-то, что считает события' >?"], 0)

Проблема в том, что я не уверен, как выбрать только пользователей, у которых есть 1 или более связанных событий.

1 Ответ

4 голосов
/ 15 октября 2008

Я нашел ответ:

User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')

По сути, users. * Ограничивает набор результатов только таблицей пользователей, а ключевое слово DISTINCT гарантирует, что каждый пользователь возвращается только один раз.

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