新创建的用户实体必须继承到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
答案 0 :(得分:0)
它不是YAML的一部分它是实体的一部分
查看此文档。 Doctrine ORM User class
YAML并不需要为此目的继承,而是您的实体应由FOS\UserBundle\Model\User
继承。
更新您的架构,您将获得FOS\UserBundle\Model\User.
如果您需要额外的字段或覆盖现有,请修改您的用户实体类。