我有一个名为massmedia的模型,这个模型属于公司。
我们有公司: PRIME,JURNAL,ASMEDIA,MEDIA GROUP
和massmedia: PRIME TV,JURNAL TV,JURNAL FM,PUBLIKA TV
和关系:
Company TV Channel Company
1. **PRIME** owner of **PRIME TV**
2. **JURNAL** owner of **JURNAL TV**
3. **ASMEDIA** owner of **PUBLIKA TV** owner of **PRIME**
4. **MEDIA GROUP** owner of **PRIME**
现在我遇到问题,公司 PRIME 归 ASMEDIA 和 MEDIA GROUP 所有,这意味着我必须关联{{1} } company
并且我不确定是否可以这样做,甚至为两家公司之间的关系创建一个新表也不好,因为我需要一个包含2列的表,拥有该公司的company_id和onehwo的company_id拥有它。
任何想法如何解决这个问题?谢谢。
修改
我试图创建一个我试图完成的计划:
MediaGrup是Prime公司的所有者 公司股东1和2是MediaGrup的所有者
所有这些:MediaGrup,股东1和2都是公司模式。
答案 0 :(得分:1)
您可以在同一个类的实例之间建立关系。例如,使用has_one
和belongs_to
(也可能使用has_many
,但您的示例显示没有0..n关联):
class MassMedia< ActiveRecord::Base # the table "mass_medias" must have a column 'owner_id'
belongs_to :owner, :class_name => 'Company', :foreign_key => 'owner_id', :inverse_of => :mass_media
end
class Company < ActiveRecord::Base # the table "companies" must have a column 'owner_id'
has_one :mass_media, :inverse_of => :owner
has_one :company, :inverse_of => :owner
belongs_to :owner, :class_name => 'Company', :foreign_key => 'owner_id', :inverse_of => :company
end