0

我有一个叫做大众媒体的模型,这个模型属于公司。

我们有公司: PRIME、JURNAL、ASMEDIA、MEDIA GROUP

和大众媒体: 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公司归ASMEDIAMEDIA GROUP所有的问题,这意味着我必须与之建立联系companycompany我不确定这是否可以做到,即使为两家公司之间的关系创建一个新表也不像我想的那样好需要一个包含 2 列 company_id 的拥有公司的表和一个 hwo 拥有它的 company_id 的表。

任何想法我该如何解决这个问题?谢谢你。

编辑

我试图创建一个我试图完成的方案:

MediaGrup 是 Prime 公司的所有者,公司股东 1 和 2 是 MediaGrup 的所有者

所以所有这些:MediaGrup、Shareholder1 和 2 都是公司模式。

在此处输入图像描述

4

1 回答 1

1

您可以在同一类的实例之间建立关系。例如使用has_oneand 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
于 2012-05-21T19:28:28.310 回答