Symfony 2 Doctrine XML映射和扩展其他类

时间:2014-08-10 13:02:45

标签: symfony doctrine-orm fosuserbundle

我在Zend框架中使用了Doctrine 2 XML映射,现在发现在Symfony 2中很难理解。

问题是,为了使用FOS \ UserBundle,我的用户实体必须扩展FOS \ UserBundle类。但是由于我使用Doctrine XML映射,所有实体都是自动生成的,这意味着每次更新实体时我都必须手动更改我的用户实体代码。

我尝试使用继承映射,但它不起作用:

  

即使你在你的指定中指定了继承选项    XML或YAML映射文件,生成器无法生成基础和    正确的子类,因为它不知道哪个    class应该扩展哪个。你必须调整实体    手动代码继承工作!

那么,它是什么意思,我必须手动创建用户实体及其所有的设置者和获取者?

这是我的User.orm.xml文件:

<?xml version="1.0" encoding="utf-8"?>
  <doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
    <mapped-superclass name="FOS\UserBundle\Model\User">
      <entity name="Nt\UserBundle\Entity\User" table="users">
        <id name="id" type="integer" column="id">
            <generator strategy="AUTO"/>
        </id>
        <field name="email" type="string" />
        <field name="firstName" type="string" column="first_name"/>
        <field name="surname" type="string"/>
        <field name="password" type="string"/>
        <field name="salt" type="string"/>
      </entity>
    </mapped-superclass>
  </doctrine-mapping>

0 个答案:

没有答案