У меня сложная ситуация для запроса в Rails. Модели выглядят следующим образом:
- Маршрут has_many Интересы
- Маршрут has_many Дни
- Дни has_many Очки
У меня есть 2 запроса, один для поиска маршрутов по Interest.title (более одного интереса):
joins(:interests).where(interests: { title: interest.split(',')}).group('routes.id').having('count(interests.route_id) = ?', interest.split(',').length)
и другой для поиска маршрутов по Points.title (болееодин)
joins(:days => :points).where(days: { points: { place_id: point.split(',')}}).group('routes.id').having('count(routes.id) = ?', point.split(',').length)
но моя проблема в том, что когда я пытаюсь добавить оба, я использую это:
joins(:interests).where(interests: { title: interest.split(',')}).group('routes.id').joins(:days => :points).where(days: { points: { place_id: point.split(',')}}).group('routes.id').having('count(routes.id) = ?', point.split(',').length+interest.split(',').length)
Но не работает