如果我有一些字段的表 A,即:
id
name
release_date
我有表 B,其中包含两个表 A 实体,即
id
from
to
(from 和 to 是表 A 中的 id)
如何在模型中连接这两个实体,以便我可以使用点运算符从 A 访问 B?
关于设计
从表 A 记录中创建了另一条记录 A,因此我想跟踪哪个记录是从哪个记录创建的。
所以这就是表 B 存在的原因,所以我知道哪个 A 是由哪个 A 制成的
如果我有一些字段的表 A,即:
id
name
release_date
我有表 B,其中包含两个表 A 实体,即
id
from
to
(from 和 to 是表 A 中的 id)
如何在模型中连接这两个实体,以便我可以使用点运算符从 A 访问 B?
关于设计
从表 A 记录中创建了另一条记录 A,因此我想跟踪哪个记录是从哪个记录创建的。
所以这就是表 B 存在的原因,所以我知道哪个 A 是由哪个 A 制成的
您可以使用has_and_belongs_to_many关系。在rails guide中有更多关于它的信息,您也可以在其中检查所需的迁移。
尝试
在 B 类
has_many :froms, :foreign_key => "from" , :class_name=>"A"
has_many :tos, :foreign_key => "to" , :class_name=>"A"
尝试使用多对多关系使用through
以下链接,它将清除您对关系的所有疑问
http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association