我正在尝试创建一个功能,允许我删除由于FOS创建的用户 . 但每次我收到此错误:
ContextErrorException:警告:缺少FOS \ UserBundle \ Model \ User :: hasRole()的参数1,在第366行的/home/symfony_test/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php中调用在/home/symfony_test/vendor/friendsofsymfony/user-bundle/FOS/UserBundle/Model/User.php第300行中定义
我无法弄清楚如何摆脱这个问题 .
我的功能:
public function deleteAction(Request $request, User $user = null)
{
if (!$user) {
$this->session->getFlashBag()->set(
'warning',
$this->translator->trans('users.messages.user_not_found')
);
return new RedirectResponse(
$this->router->generate('user')
);
}
$userForm = $this->formFactory->create(
new UserType(),
$user,
array(
'validation_groups' => 'user-delete'
)
);
$userForm->handleRequest($request);
if ($userForm->isValid()) {
$user = $userForm->getData();
$this->userModel->delete($user);
$this->session->getFlashBag()->set(
'success',
$this->translator->trans('users.messages.success.delete')
);
return new RedirectResponse(
$this->router->generate('user')
);
}
return $this->templating->renderResponse(
'AppBundle:User:delete.html.twig',
array('user'=>$user,
'form' => $userForm->createView())
);
}