我需要在對象可以有父母和子類型相同的對象之間創建關係。學說:多對多,自引用但是使用yaml映射文件
認爲像類樹可以有一個父類別(或多個父類別),也可以有一個子類別(或多個子類別)的類別樹。
因此,Doctrine explains how to do this但該示例使用annotations
。
但在我的項目中,我使用yaml
文件來描述映射,我不知道如何將該原則的示例轉換爲yaml
。
任何人都可以幫助我嗎?
我需要在對象可以有父母和子類型相同的對象之間創建關係。學說:多對多,自引用但是使用yaml映射文件
認爲像類樹可以有一個父類別(或多個父類別),也可以有一個子類別(或多個子類別)的類別樹。
因此,Doctrine explains how to do this但該示例使用annotations
。
但在我的項目中,我使用yaml
文件來描述映射,我不知道如何將該原則的示例轉換爲yaml
。
任何人都可以幫助我嗎?
我鼓勵你研究Doctrine提供的YAML Mapping Documentation。
另外請注意,您可以使用orm:convert-mapping
命令主義提供了映射
例子:
php bin/console doctrine:mapping:convert --filter User yml /path_to_yml
過濾器是可選
好吧,這是解決方案:
manyToMany:
parentDependencies:
targetEntity: SerendipityHQ\Bundle\QueuesBundle\Entity\Job
inversedBy: childDependencies
joinTable:
name: queues_jobs_chains
joinColumns:
child_job:
referencedColumnName: id
inverseJoinColumns:
parent_job:
referencedColumnName: id
childDependencies:
targetEntity: SerendipityHQ\Bundle\QueuesBundle\Entity\Job
mappedBy: parentDependencies
呃呃,喲你把它鏈接起來了,但是你看過了嗎?沒有提及多對多的自引用關係......不幸的是! 我不能轉換映射,因爲這隻需要更多的工作來做轉換(以告訴Symfony加載yaml映射和註釋太...我不知道是否有可能混合兩個... oO)... – Aerendir
沒有用於自引用關係的特殊映射。您只需使用manyToMany,targetEntity,joinTable等組合。此外,轉換背後的想法並不是同時使用,而是以獨立演示項目中的格式編寫映射,將其轉換並用於原始項目中。 – Vamsi
我需要一個例子,你能提供一個嗎?創建演示項目的工作太多了,ecc ...我認爲這是一個必須在線的例子...所以這是創建一個正確的問題... – Aerendir