У меня есть две модели/таблицы, школы и обзоры. Я хотел бы получить коллекцию объектов школы на основе минимального количества обзоров, а затем среднего значения столбца в обзорной таблице. В настоящее время мой запрос работает хорошо, и возвращает все школы, чтобы от 5,0 до сра нулей последних и выглядит следующим образом:Получение коллекции объектов на основе атрибута ActiveRecord и значений
School.joins('LEFT JOIN reviews ON schools.id = reviews.school_id')
.group('schools.id')
.order('AVG(reviews.overall_experience_rating) DESC NULLS LAST')
однако, я хотел бы быть в состоянии иметь ограничитель здесь, что только выбирает школу объект, если он имеет 15 или больше обзоров, что-то вроде:
where("school.reviews.count >= 15")
связь между двумя моделями в активной записи является один ко многим. Есть предположения?
если вы настроите ваши отношения правильно, сделать * присоединиться * выглядеть лучше: '.joins (: отзывы)' - рельсы автоматически совершают магию –