【问题标题】:Symfony2 Doctrine multiple manyToMany Releationships between same entity, yml fileSymfony2 Doctrine 同一实体之间的多个多对多关系,yml 文件
【发布时间】:2014-11-20 22:58:24
【问题描述】:

我目前有一个可以正常工作的多对多关系。我想在相同实体之间添加第二个多对多关系。然而,学说/交响乐会尝试创建一个具有相同名称的表,从而导致错误。如何添加第二个关系?

YML文件原始关系

...
manyToMany:
    originFormDataObjects:
        targetEntity: SM\FormBundle\Entity\FormData
        mappedBy: targetFormDataObjects
        orderBy: { 'id': 'DESC' }
    targetFormDataObjects:
        targetEntity: SM\FormBundle\Entity\FormData
        inversedBy: originFormDataObjects
        orderBy: { 'id': 'DESC' }

添加关系的YML文件,导致错误

...
manyToMany:
    originFormDataObjects:
        targetEntity: SM\FormBundle\Entity\FormData
        mappedBy: targetFormDataObjects
        orderBy: { 'id': 'DESC' }
    targetFormDataObjects:
        targetEntity: SM\FormBundle\Entity\FormData
        inversedBy: originFormDataObjects
        orderBy: { 'id': 'DESC' }
    formDataObjects:
        targetEntity: SM\FormBundle\Entity\FormData

【问题讨论】:

  • 它抛出的错误是什么?
  • " 名为 'ilossrep_sm_dev1.formdata_formdata' 的表已经存在。"是错误

标签: symfony doctrine-orm doctrine yaml


【解决方案1】:

您可以尝试指定表名,如下所示:

manyToMany:
originFormDataObjects:
    targetEntity: SM\FormBundle\Entity\FormData
    mappedBy: targetFormDataObjects
    orderBy: { 'id': 'DESC' }
    joinTable:
      name: table_name
      joinColumns:
        fk_id:
          referencedColumnName: id
      inverseJoinColumns:
        inverse_id:
          referencedColumnName: id

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    • 2012-07-23
    • 2014-09-14
    • 2021-04-14
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多