Symfony PUGXMultiUserBundle:FOS\UserBundle\Controller\RegistrationController中未定义的方法setEnabled()

Symfony PUGXMultiUserBundle:FOS\UserBundle\Controller\RegistrationController中未定义的方法setEnabled(),symfony,fosuserbundle,pugxmultiuserbundle,Symfony,Fosuserbundle,Pugxmultiuserbundle,我正试图将多用户包合并到一个项目中,并获得 错误:调用未定义的方法 中的Vol\VolBundle\Entity\Staff::setEnabled() G:\Documents\workspace\志愿者\vendor\friendsofsymfony\user bundle\FOS\UserBundle\Controller\RegistrationController.php 第44行 在添加多用户捆绑包之前,FOSUserBundle似乎表现正常。至少部分相关代码: 用户实体(指定人员)

我正试图将多用户包合并到一个项目中,并获得

错误:调用未定义的方法 中的Vol\VolBundle\Entity\Staff::setEnabled() G:\Documents\workspace\志愿者\vendor\friendsofsymfony\user bundle\FOS\UserBundle\Controller\RegistrationController.php 第44行

在添加多用户捆绑包之前,FOSUserBundle似乎表现正常。至少部分相关代码:

用户实体(指定人员) 工作人员实体: config.yml routing.yml:
该错误将从中抛出。所以,让我们看看它的内部,在第44行:

class RegistrationController extends ContainerAware
{
    public function registerAction(Request $request)
    {
        $user->setEnabled(true); // Line 44
}
它试图调用
setEnabled
函数,该函数需要在
Staff
类中定义。因此,您只需使
Staff
类扩展
BaseUser
,就像您对
Person
类所做的那样

员工实体:

use FOS\UserBundle\Model\User as BaseUser;
class Staff extends BaseUser{

}

它应该很好用。

非常感谢-因为它比我更能阅读这些精美的印刷品!文档中有,但我没看到。不止一次。现在就去比赛。
fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: Vol\VolBundle\Entity\Person
#    registration:
#        form:
#            type: vol_user_registration
    service:
        user_manager: pugx_user_manager

pugx_multi_user:
  users:
    staff:
        entity: 
          class: Vol\VolBundle\Entity\Staff
#          factory: 
        registration:
          form: 
            type: Vol\VolBundle\Form\RegistrationStaffFormType
            name: fos_user_registration_form
            validation_groups:  [Registration, Default]
          template: VolVolBundle:Registration:staff.form.html.twig
        profile:
          form:
            type: Vol\VolBundle\Form\ProfileStaffFormType
            name: fos_user_profile_form
            validation_groups:  [Profile, Default] 
    volunteer:
        entity: 
          class: Vol\VolBundle\Entity\Volunteer
        registration:
          form: 
            type: Vol\VolBundle\Form\RegistrationVolunteerFormType
          template: VolVolBundle:Registration:volunteer.form.html.twig
        profile:
          form: 
            type: Vol\VolBundle\Form\ProfileVolunteerFormType
fos_user_security:
    resource: "@FOSUserBundle/Resources/config/routing/security.xml"

fos_user_profile:
    resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
    prefix: /profile

#rem'd for PUGX multi-user bundle
#fos_user_register:
#    resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
#    prefix: /register

fos_user_resetting:
    resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
    prefix: /resetting

fos_user_change_password:
    resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
    prefix: /profile

##add following for PUGX multi-user bundle
staff_registration:
    pattern:  /register/staff
    defaults: { _controller: VolVolBundle:RegistrationStaff:register }

volunteer_registration:
    pattern:  /register/volunteer
    defaults: { _controller: VolVolBundle:RegistrationVolunteer:register }
class RegistrationController extends ContainerAware
{
    public function registerAction(Request $request)
    {
        $user->setEnabled(true); // Line 44
}
use FOS\UserBundle\Model\User as BaseUser;
class Staff extends BaseUser{

}