如何在创建用户实体时在yaml文件中定义实体继承?

时间:2018-02-12 16:49:13

标签: symfony doctrine-orm yaml fosuserbundle

新创建的用户实体必须继承到enableLogging的FOS用户包states in its documentation

文档中的示例显示了如何在PHP实体中定义继承,但是一旦单击YAML选项卡,就根本没有继承跟踪:

FOS\UserBundle\Model\User

所以我做了一些研究并在定义中添加了# src/AppBundle/Resources/config/doctrine/User.orm.yml AppBundle\Entity\User: type: entity table: fos_user id: id: type: integer generator: strategy: AUTO 键:

inheritance:

它确实有效,但创建一个空的User实体,只有AppBundle\Entity\User: inheritance: extends: FOS\UserBundle\Model\User type: simple id: id: type: integer generator: strategy: AUTO 属性,没有任何继承痕迹。

所以问题是,如何为实际扩展id实体的用户实体创建YAML ORM文件?

更新。
我应该提到,如果我使用文档中的确切YAML定义,没有任何继承,

FOS\UserBundle\Model\User

然后结果是相同的 - 具有唯一id属性的实体:

AppBundle\Entity\User:
    type:  entity
    table: fos_user
    id:
        id:
            type: integer
            generator:
                strategy: AUTO

XML

1 个答案:

答案 0 :(得分:0)

它不是YAML的一部分它是实体的一部分

查看此文档。 Doctrine ORM User class

YAML并不需要为此目的继承,而是您的实体应由FOS\UserBundle\Model\User继承。

更新您的架构,您将获得FOS\UserBundle\Model\User.

中定义的所有字段

如果您需要额外的字段或覆盖现有,请修改您的用户实体类。