父母子女关系自我加入

Chr*_*n-G 2 ruby-on-rails

我的Event模型需要有一个自引用连接.每个活动都可以属于另一个活动.所以有一个父母.事件不能属于任何其他父母.

我阅读关于这个主题的AR文档,但由于某些原因,我仍然难以理解我应该在模型中使用的关系.

关于使用什么关系的任何建议?

小智 6

怎么样?

belongs_to :parent, :class_name => 'Event', :foreign_key => :parent_id
has_many :children, :class_name => 'Event'
Run Code Online (Sandbox Code Playgroud)

注意:您必须将列添加parent_id到事件表中

  • 在我的情况下,父母只能有一个孩子,但我发现我必须在`has_one:child,:class_name =>'Event',:foreign_key =>:parent_id`中指定外键才能使其工作. (2认同)