我的Event
模型需要有一个自引用连接。每个事件都可以属于另一个事件。所以有一个父母。一个事件不能属于任何其他父母。亲子关系自我加入
我读了the AR docs关于这个问题,但由于某种原因不断困扰我应该在我的模型中使用什么关系。
任何有关使用关系的建议?
我的Event
模型需要有一个自引用连接。每个事件都可以属于另一个事件。所以有一个父母。一个事件不能属于任何其他父母。亲子关系自我加入
我读了the AR docs关于这个问题,但由于某种原因不断困扰我应该在我的模型中使用什么关系。
任何有关使用关系的建议?
怎么样?
belongs_to :parent, :class_name => 'Event', :foreign_key => :parent_id
has_many :children, :class_name => 'Event'
注:你将不得不列parent_id
添加到事件表
在我的情况下,父母只能有一个孩子,但我发现我必须在'has_one:child,:class_name =>'Event',:foreign_key =>:parent_id'中指定外键以使其工作。 –
我得到了'PG :: UndefinedColumn:ERROR:列events.event_id不存在','LINE 1:SELECT“events”。* FROM“events”WHERE“events”。“event_id”= ...'。我如何让孩子只加入'id'而不是'event_id'? – Meekohi
在'has_many'上使用相同的'foreign_key =>:parent_id'。 – Meekohi
查看以下链接的解决方案。
http://guides.rubyonrails.org/association_basics.html#self-joins
谢谢,但我已经在我的问题中发布了相同的链接:) –
其确定..我错过了:) –
你在链接中自我加入的问题是什么? – Matzi