Symfony 将 DiscriminatorColumn 与 formbuilder 结合使用

Symfony using DiscriminatorColumn with formbuilder

我有一个用户实体:

/**
 * Class User
 * @package Somepackage
 * @ORM\Entity(repositoryClass="Somepackage\UserBundle\Entity\Repository\UserRepository")
 * @ORM\Table(name="user")
 * @ORM\InheritanceType("SINGLE_TABLE")
 * @ORM\DiscriminatorColumn(name="discr", type="string")
 * @ORM\DiscriminatorMap({"usereins" = "UserEins", "userzwei" = "UserZwei", "admin" = "Admin"})
 */
class User implements UserInterface, \Serializable {

现在我想用 formbuilder 创建一个表单,可以在其中创建一个新用户,并且可以通过下拉菜单选择 "discr"。但如果我试试这个:

$builder
        ->add('discr', 'choice', array( ... ), 'required' => true ));

然后 Symfony 说:

Neither the property "discr" nor one of the methods "getDiscr()", "isDiscr()", "hasDiscr()", "__get()" exist

我该怎么做?可能吗?我已经在谷歌上搜索了一个多小时,除了没有人能够回答的其他 Whosebug 问题之外,我似乎找不到任何东西。

cerads回答正确,非常感谢。我在 table 中添加了另一个字段,用于存储用户类型,因此我不必担心 discr 字段。