我需要在对象可以有父母和子类型相同的对象之间创建关系。学说:多对多,自引用但是使用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