Я создаю приложение Rails, которое имеет модель пользователя, объединенную с моделью интересов через has_many: через отношения с использованием модели соединения UserInterests.Difficult Rails ActiveModel Query
Учитывая набор интересов, я хочу найти всех пользователей, которые выбрали хотя бы один интерес к этому набору, или кто не выбрал никаких интересов вообще. Я думаю о чем-то вроде этого:
users = users.joins(:user_interests).where(["COUNT(user_interests) = 0 OR user_interests.interest_id IN ?", interest_ids])
Это вызывает синтаксическую ошибку Mysql. Любые идеи, как достичь этого?
Большое спасибо
Показать полную ошибку Mysql – rick
Mysql :: Error: Invalid использование групповой функции: SELECT ' пользователей'. * FROM 'users' INNER JOIN 'user_interests' ON' user_interests'.'user_id' = 'users'.'id' WHERE (COUNT (user_interests) = 0 ИЛИ user_interests.interest_id IN (1)) – AdamP