$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中捕获用户重复的异常?