使用Symfony2和orm.yml文件將實體映射到數據庫中如何在實體A,B,C之間創建三元關係,這會導致包含A_PrimaryKey,B_PrimaryKey, C_PrimaryKey實體之間的關係是這樣的:Symfony2三元關係
AB多對多 AC多對多BC 多對多
使用Symfony2和orm.yml文件將實體映射到數據庫中如何在實體A,B,C之間創建三元關係,這會導致包含A_PrimaryKey,B_PrimaryKey, C_PrimaryKey實體之間的關係是這樣的:Symfony2三元關係
AB多對多 AC多對多BC 多對多
所以,你的基本模式是這樣的:
A 1:n D
B 1:n D
C 1:n D
的陽明對於A會是什麼樣子這樣的:
Acme\TestBundle\Entity\A:
type: entity
# ...
oneToMany:
products:
targetEntity: D
mappedBy: d
你可以只是B和C.對於d重複這一點,它會是這個樣子:
Acme\TestBundle\Entity\D:
type: entity
# ...
manyToOne:
a:
targetEntity: A
inversedBy: as
joinColumn:
name: a_id
referencedColumnName: id
b:
targetEntity: B
inversedBy: bs
joinColumn:
name: b_id
referencedColumnName: id
c:
targetEntity: C
inversedBy: cs
joinColumn:
name: c_id
referencedColumnName: id
試試看吧。也許試着先映射A和D.如果這樣做,繼續B.因此你更容易在路上發現錯誤!
您是否嘗試過創建多對一/一對多的關係,就像使用其他關係一樣?我猜想,這種關係是不受支持的! – Sgoettschkes 2012-03-13 13:25:20
我試過,但因爲我做了它失敗了。你能指出我會怎麼做嗎?謝謝。 – Haritz 2012-03-13 14:13:48