FOS UserManager创建用户捕获重复登录

时间:2015-01-05 16:18:00

标签: php mysql symfony doctrine-orm fosuserbundle

$userManager = $this->container->get('fos_user.user_manager');
        $newUser = $userManager->createUser();
        $newUser->setUsername($form["username"]->getData());
        $newUser->setPlainPassword($form["password"]->getData());
        $newUser->setEmail($form["email"]->getData());
        if($form["isadmin"]->getData() == TRUE){
            $newUser->addRole("ROLE_SUPER_ADMIN");
        }
        $newUser->setEnabled($form["enabled"]->getData());

        try {

            $userManager->updateUser($newUser);
            $this->getDoctrine()->getManager()->flush();

        } catch (\PDOException $e) {

            $this->get('session')->getFlashBag()->add(
                'error', 'Wystąpił błąd przy udodawaniu użytkownika!'
            );
            return $this->redirect($this->generateUrl('backend_users_list'));

        }   

某些部分来自控制器,但如果用户名重复,我没有重定向。

  

QLSTATE [23000]:完整性约束违规:1062重复输入   'admin'代表关键'UNIQ_957A647992FC23A8'

我只给出了mysql的Unique错误,如何从UserManager中捕获用户重复的异常?

0 个答案:

没有答案
相关问题