范围内的关联

问题描述 投票:0回答:1

我有两个彼此不直接关联的模型ClientPotentialClient,我希望能够在它们之间创建一个join

两个型号都具有字段mindbody_id,但在Location中它是唯一的[[only)。 ClientPotentialClient都属于Location

class Client < ApplicationRecord belongs_to :location end class PotentialClient < ApplicationRecord belongs_to :location end class Location < ApplicationRecord has_many :potential_clients has_many :clients end

我如何加入mindbody_id,因为它同时存在于ClientPotentialClient中,并且在Location中是唯一的?

我以为这样的事情会起作用,但没有效果:

#client.rb has_one :potential_client, -> { where(potential_clients: {location_id: self.location_id, mindbody_id: self.mindbody_id}) }

ruby-on-rails associations
1个回答
0
投票
我认为这应该起作用

has_one :potential_client, -> { where(mindbody_id: mindbody_id }, through: :location

这应该从该位置获取所有“ potential_clients”,然后应用范围,并且您应该只有一个PotentialClient
© www.soinside.com 2019 - 2024. All rights reserved.