我有三種用戶,每個用戶都有一些FiscalData
並鏈接到UserCredential
條目。Doctrine2具有多個實體的OneToMany
在這轉化:
用戶X(X = 1,2,3)具有兩個FKS參照
FiscalData
和UserCredential
表。
使用Doctrine2,閱讀文檔http://doctrine-orm.readthedocs.io/projects/doctrine-orm/en/latest/reference/association-mapping.html,我認爲需要MappedSuperClass模式。
我也看到了以下問題:
Doctrine 2 - One-To-Many with multiple Entities
Many-To-One with multiple target entities
Doctrine2, Symfony2 - oneToOne with multiple entities?
但在文檔中明確指出,
映射超不能一個實體,它不是曲由映射超類定義的可持續關係必須是單向的(只有擁有一方)。這意味着一對多關聯在映射超類上根本不可能。此外,多對多關聯只有在映射的超類目前僅在一個實體中使用時纔有可能。爲了進一步支持繼承,必須使用單個或連接的表繼承功能。
那麼,如何實現我想要實現的,這是用戶X和FiscalData
/UserCredential
之間的雙向關係? (使FE通過主義,我可以得到一個UserCredential和檢查什麼樣的配置文件已關聯)
任何完整最少的代碼示例展示瞭如何強制執行的關係我正在尋找(並不僅僅是MappedSuperClass繼承在文檔中表示將高度讚賞。
爲了誰downvoted ,請說出你的想法 –
正如你已經在我們注意到,文檔建議使用單個或連接的表繼承來進一步支持繼承。你排除這些解決方案嗎? – marc
您建議UserX使用STI/JTI從用戶基類繼承,並在用戶基類和FiscalData/UserCredential之間創建OtM/MtO關係? –