Doctrine:多对多,自引用但使用yaml映射文件

时间:2017-02-09 11:08:57

标签: php symfony doctrine-orm doctrine

我需要在对象可以拥有父对象和相同类型的子对象的对象之间创建关系。

在类别树之类的地方思考,类别可以包含父类别(或多个父类别),也可以有子类别(或多个子类别)。

所以,Doctrine explains how to do this但该示例使用了annotations

但在我的项目中,我使用yaml文件来描述映射,而我不知道如何将Doctrine的示例转换为yaml。< / p>

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

我鼓励您研究YAML Mapping Documentation提供的Doctrine

另请注意,您可以使用doctrine提供的orm:convert-mapping命令在映射之间进行转换

示例:

php bin/console doctrine:mapping:convert --filter User yml  /path_to_yml

过滤器是可选的

答案 1 :(得分:0)

好的,这是解决方案:

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