2

我正在使用 Doctrine 模式,但遇到了麻烦,因为 manyToOne-relationships 之一不会保留在数据库中。我不知道为什么会这样,因为在我看来,语法看起来是正确的。

任何人都可以识别问题吗?

下面是我在 yaml 中的架构。运行后,我的 mysql-database 中没有与这两个实体相关的表 php app\console doctrine:schema:update --force

Me\MyBundle\Entity\FreeTextField:
  type: entity
  table: null
  fields:
    id:
      type: integer
      id: true
      generator:
        strategy: AUTO
    name:
      type: string
    flagPrivate:
      type: boolean
    description:
      type: text
      nullable: TRUE
  oneToMany:
    entries:
      targetEntity: FreeTextEntry
      mappedBy: xfield

  lifecycleCallbacks: {  }

Me\MyBundle\Entity\FreeTextEntry:
  type: entity
  table: null
  fields:
    id:
      type: integer
      id: true
      generator:
        strategy: AUTO
    content:
      type: text

  manyToOne:
    xfield:
      targetEntity: FreeTextField
      inversedBy: entries
  manyToOne:
    registration:
      targetEntity: Registration
      inversedBy: freeTextEntries
  lifecycleCallbacks: {  }
4

1 回答 1

1

可能和这里一样的问题。您需要将所有 manyToOne 类型关联放在 Entity\FreeTextEntry 中的同一类型声明下,如下所示:

manyToOne:
  xfield:
    targetEntity: FreeTextField
    inversedBy: entries
  registration:
    targetEntity: Registration
    inversedBy: freeTextEntries
于 2012-06-05T11:49:17.473 回答