自定义包括rails中的关联

时间:2015-12-07 17:08:37

标签: ruby-on-rails ruby activerecord

我有下表

用户

user_id,name,last_name

关系

user_id,spouse_id

我想运行以下查询人= Relationships.includes(:person).where(:name =>' David')

但我不希望相关人员通过user_id关联。我希望它仅由spouse_id与此特定查询相关联

1 个答案:

答案 0 :(得分:2)

Rails非常满足于允许多个关联到同一个表,只要它们使用不同的外键。

在这种情况下,你会有这样的事情:

class User
  has_many :relationships
  has_many :spouses, class_name: "Relationship", foreign_key: :spouse_id
end
然后,

User.first.spouses将是spouse_id字段中存在用户ID的所有关系的集合。

相关问题