Symfony PUGXMultiUserBundle:FOS\UserBundle\Controller\RegistrationController中未定义的方法setEnabled()
我正试图将多用户包合并到一个项目中,并获得 错误:调用未定义的方法 中的Vol\VolBundle\Entity\Staff::setEnabled() G:\Documents\workspace\志愿者\vendor\friendsofsymfony\user bundle\FOS\UserBundle\Controller\RegistrationController.php 第44行 在添加多用户捆绑包之前,FOSUserBundle似乎表现正常。至少部分相关代码: 用户实体(指定人员) 工作人员实体: config.yml routing.yml: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似乎表现正常。至少部分相关代码: 用户实体(指定人员)
该错误将从中抛出。所以,让我们看看它的内部,在第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{
}