rails中两个表之间的2对或多对一对多关系
我有两张桌子:
用户和组
用户has_many组和组,belongs_to用户:
u = User.last u.groups
假设我想要一个不同组的第二个列表,原因有些奇怪。 用户可能再次拥有组(在此示例中称为other_group)并且组属于用户。
u = User.last u.other_groups
如何在这种关系中关联两个模型,两次使用Active Record?
你可以做
class User has_many :groups, :class_name => "Group", :foreign_key => "group_id" has_many :other_groups, :class_name => "Group", :foreign_key => "other_group_id"
您的用户模型可能有两个外键(rails中的属性)
User.group_id User.other_group_id
你可以做
User(user_id) Group(group_id) UserGroup (id, user_id, group_id)
这允许您拥有与不同组关联的user_ids的记录。
这样,您就可以拥有多个用户组关联。