У меня есть две модели, к которым присоединяется соединительный стол Has и Belongs To Many. Назовем эти модели User и Event. У большинства пользователей 0 событий, а у немногих - одно или несколько. Я хочу сделать что-то вроде:
User.find (: all,: joins =>: events,: conditions => ["'Что-то, что считает события'>?"], 0)
Проблема в том, что я не уверен, как выбирать только пользователей, у которых есть одно или несколько связанных событий.


Я нашел ответ:
User.find(:all, :joins => :events, :select => 'DISTINCT `users`.*')
По сути, users. * Ограничивает набор результатов только таблицей пользователей, а ключевое слово DISTINCT гарантирует, что каждый пользователь возвращается только один раз.
Это не решает проблему для случая, когда вы хотите получить более N результатов, а не только 1. Может ли кто-нибудь предложить способ AR, кроме простого SQL?