我從現有的數據庫中實現了Symfony 2的Web應用程序。學說複合主鍵外鍵
我已經設置了一個由兩個外鍵組成的主鍵的實體。
例如:
ENTITY1與複合主鍵:property1(PK),property2(PK) ENTITY2主鍵由兩個外鍵:property1(PK FK),property2(PK FK),propriete3( PK)
我不如何實現這種關聯:
在ENTITY2我做的:
/ **
*ORM \ ManyToOne (targetEntity = "Entity1")
*ORM \ JoinColumns ({
*ORM \ JoinColumn (name = "property1" referencedColumnName = "property1")
*ORM \ JoinColumn (name = "property2" referencedColumnName = "property2")
* @ ORM \ Id
*})
*/
private $entity1;
但我得到一個錯誤:
作爲另一個實體'ExempleBundle \ Entity \ Entite2#entite1'的主鍵的一部分,無法將實體'ExempleBundle \ Entity \ Entite1'映射爲複合主鍵。
如何妥善處理這種關聯關係與學說
我試圖以此爲榜樣,但我不明白:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite-primary-keys.html#use-case-1-dynamic-attributes
你能不能給兩個實體的例子有類似的情況下,特別是在在這種情況下如何進行聯合。
看來你是錯的學說的組合鍵管理協會。這並不麻煩。 麻煩的是,用於關聯的密鑰似乎不能同時作爲PK的一部分寫入錯誤:'不能將實體'...'映射爲複合主鍵作爲主鍵的一部分另一個實體'...'。 有這種情況的醜陋解決方案: http://stackoverflow.com/questions/19008582/doctrine2-map-entities-with-composite-foreign-keys-in-the-the-composite-primary-keys – zeliboba 2015-04-10 13:09:32
請正確閱讀我的答案,我從來沒有說過,「學說[不]通過組合鍵管理關聯」 相反,我說的是Doctrine2在某些情況下正確地管理複合主鍵。 – 2015-04-17 14:03:13
這可能嗎? – SayDevNet 2015-04-22 07:32:12