У меня есть приложение рельсы со следующей установкой:Rails 5 запросов при использовании как одиночные и множественные отношения ассоциации
class Organization < ApplicationRecord
has_many :user_orgs
has_many :users, :through => :user_orgs
end
class UserOrg < ApplicationRecord
# organization_id :integer
# user_id :integer
belongs_to :organization
belongs_to :user
end
class User < ApplicationRecord
# car_id :integer
has_many :user_orgs
has_many :organizations, :through => :user_orgs
belongs_to :car
end
class Car < ApplicationRecord
# brand :string
has_many :users
end
То, что я пытаюсь сделать, это написать запрос Rails 5 так, что он возвращает все организации где установлен определенный атрибут автомобиля, т.е. возвращать все организации, в которых есть пользователь, у которого есть автомобиль с данным брендом.
Как я могу присоединиться к классу Car в Организации при выполнении запроса? В настоящее время я ищу для организаций, основанных на критериях пользователя, выполнив следующие действия:
Organization.joins(:users).where("users.name = ?", name)
Но я хочу, чтобы иметь возможность добавить критерии автомобиля на запрос, а также.
Это выглядит, как он будет выполнять поиск только для пользователей с заданным именем, а не автомобиль с данным именем? – Hawkeye001
Я обновил свой ответ ... любезно проверил – Milind
Извините @milind, у меня была ошибка в моем вопросе (ассоциации авто/пользователя были отменены, исправлены в исходном сводке сейчас), поэтому на основе фактической структуры это решение не будет Не применяйте. – Hawkeye001