2011-10-21 40 views

回答

0

連接表只用於M:N的關係。

+0

感謝meze。我只是想知道,因爲文檔只顯示與連接表的1:m關係。 –

+0

什麼版本?對於doctrine2 [文檔](http://www.doctrine-project.org/docs/orm/2.0/en/reference/association-mapping.html#many-to-one-unidirectional)示出了具有僅兩個表的兩個例子: – meze

+0

這裏是我特別關注第5.9節的鏈接。 http://www.doctrine-project.org/docs/orm/2.0/en/reference/association-mapping.html#one-to-many-unidirectional-with-join-table –

4

取決於你是否希望它是單向或雙向的。

單向一個一對多可製成只有通過連接表中,「意識形態」的原因,這些來自Java的休眠:

http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html#one-to-many-unidirectional-with-join-table

想象一下,你有其中有許多產品類別,你想要一個單向關係 - 即類別知道許多產品,但產品不知道類別。

如果你把「CATEGORY_ID」字段到產品表,你會做的產品表,它是連接類的事實「知道」。如果不改變產品表,你將無法消除這種關係 - 這意味着它不是真正的單向。

但是,如果你保存在單獨的類別和產品之間關係的連接表,你能把它和產品甚至不會注意到的東西發生了變化。