我有一个带有以下设置的rails应用程序:
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)
但我希望能够在查询中添加汽车标准。
答案 0 :(得分:0)
如何使用它 -
###add this scope in Organisation model that has - has_many :users
scope :get_users_by_carBrand, -> (brand) { includes(:cars).where(:cars=> {:name => brand} }
###this is the select query
Organization.includes(:users).get_users_by_carBrand("BMW")