Symfony2:ContextErrorException:警告:缺少FOS \ UserBundle \ Model \ User :: hasRole()的参数1

时间:2016-09-15 18:55:52

标签: php symfony fosuserbundle

我正在尝试创建一个允许我删除由于FOS而创建的用户的功能。但每次我收到这个错误:

  

ContextErrorException:警告:缺少参数1   调用FOS \ UserBundle \ Model \ User :: hasRole()   /home/symfony_test/vendor/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php   在第366行并在中定义   /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())
    );

}

0 个答案:

没有答案