Ralis Multiple foreign_key
问题描述:
我在has_many上组合多个外键时遇到了问题。我明白,这不是has_many上foreign_key的明确意图。但无论我在寻找一种简单的方法来组合两个外键。Ralis Multiple foreign_key
我试着将两个的has_many的,像这样:
has_many :primary_clients, foreign_key: :coach_id, inverse_of: :coach do
end
has_many :secondary_clients, foreign_key: :coach_two_id, inverse_of: :coach do
end
def clients
Client.where("primary_clients = ? OR secondary_clients = ?", self.id, self.id)
end
而且我也试过unscope重新定义范围:
has_many :clients, ->(user) { unscope(:where).where("coach_id = :id OR coach_two_id = :id", id: ids) }, inverse_of: :coach do
end
我喜欢的东西很简单,像后是:
has_many :clients, foreign_key: {:coach_id, :coach_two_id}, inverse_of: :coach do
end
任何意见,以正确的方向指向我?
答
一个非常小集合,你可以只是做
primary_clients | secondary_clients
与union
操作|