2

有两个表,groups 和 groups_hierarchy。groups 有关于组的标准信息,group_hierarchy 有两列(父、子),列出父组的 id 和子组的 id。这就是说子组是父组的子组。我一直试图弄清楚 GroupHierarchy 和 Group Data Models 中的关联是什么。有人可以帮我弄这个吗?

一个组可以有许多子组,也可以是许多其他组的子组。我认为这将是has_many :grouphierarchiesGroup 和belongs_to :groupGroupHierarchy 中的一个,但这不起作用……问题是 GroupHierarchy 在技术上属于 2 个组。

谢谢

4

1 回答 1

0

在我的小组模型中,我需要以下内容:

class Group < ActiveRecord::Base

has_and_belongs_to_many :children, :class_name => 'Group', :join_table => 'groups_hierarchy', :foreign_key => 'parent', :association_foreign_key => 'child'

has_and_belongs_to_many :parents, :class_name => 'Group', :join_table => 'group_hierarchy', :foreign_key => 'child', :association_foreign_key => 'parent'

end

而且您实际上不需要 GroupHierarchy 类中的任何内容,它似乎只是充当支持表以允许自引用。

再次感谢

于 2013-05-27T19:22:25.220 回答