扩展用户FOSUserBundle Symfony2

时间:2011-12-12 16:35:28

标签: php symfony

当我尝试扩展用户

时,我遇到了以下问题

在FormType中:

class RegistrationFormType extends BaseType{

public function buildForm(FormBuilder $builder, array $options)
{
    parent::buildForm($builder, $options);

    // add your custom field
    $builder->add('telephone')
            ->add('adress')
            ->add('CPF');

}

public function getName()
{
    return 'project_user_registration';
}

}

我有:

* @ORM\Table(name="fos_user")
* @ORM\Entity
* @ORM\InheritanceType("SINGLE_TABLE")
* @ORM\DiscriminatorColumn(name="type", type="string")
* @ORM\DiscriminatorMap({"user" = "User", "individual" = "Individual"})
class User extends BaseUser{
 /**
 * @var string $adress
 *
 * @ORM\Column(name="adress", type="string", length=255)
 */
 private $adress;

 /**
 * @var string $telephone
 *
 * @ORM\Column(name="telephone", type="string", length=20)
 */
 private $telephone;

 //getters and setters...

}

* @ORM\Table()
* @ORM\Entity
class Individual extends User{

   /**
    * @var string $CPF
    *
    * @ORM\Column(name="CPF", type="string", length=14)
    */
    private $CPF;


    public function setCPF($cPF)
    {
       $this->CPF = $cPF;
    }


    public function getCPF()
    {
       return $this->CPF;
    }
}

当我这样做时,我有一个错误:

  

“Project \ UserBundle \ Entity \ User”类中不存在属性“CPF”和方法“getCPF()”以及方法“isCPF()”

有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

您可能已将FOSUserBundle配置为使用User实体,但它不了解Individual。您是否有理由需要再次扩展User,或者只是将属性和方法添加到该类中?

否则,您可以将FOS配置为使用Individual作为用户模型类,并且不会抛出该错误。