当我尝试扩展用户
时,我遇到了以下问题在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()”
答案 0 :(得分:0)
您可能已将FOSUserBundle配置为使用User
实体,但它不了解Individual
。您是否有理由需要再次扩展User
,或者只是将属性和方法添加到该类中?
否则,您可以将FOS配置为使用Individual
作为用户模型类,并且不会抛出该错误。