我正在尝试创建一个功能,允许我删除由于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())
    );

}