【问题标题】:extends user FOSUserBundle Symfony2扩展用户 FOSUserBundle Symfony2
【发布时间】:2011-12-12 16:35:27
【问题描述】:

我在尝试扩展用户时遇到以下问题

在表单类型中:

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()”

有人可以帮助我吗?

【问题讨论】:

    标签: php symfony


    【解决方案1】:

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

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

    【讨论】:

    • 我真的需要再次扩展用户。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2015-12-29
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 1970-01-01
    相关资源
    最近更新 更多