2014-03-27 23 views
0

对于我的应用程序中的特殊情况,我需要从ajax请求手动注册用户。FosUser,手动创建用户

所以,首先我用ajax发送我的所有数据:firstname, lastname, mail, password etc...给我的控制器。

现在,在这之后,我只是做我的控制器:

$firstname = $request->get('firstname'); 
    $lastname = $request->get('lastname'); 
    $mail = $request->get('mail'); 
    $password = $request->get('password'); 

    $userManager = $this->get('fos_user.user_manager'); 
    $user = $userManager->createUser(); 
    $user->setUsername($firstname.$lastname); 
    $user->setPlainPassword($password); 
    $user->setEmail($mail); 
    $user->setFirstname($firstname); 
    $user->setLastname($lastname); 

    $userManager->updateUser($user); 

但我的问题,我怎么能验证updateUser()前的用户?我需要手动检查这个电子邮件/用户名是否已经存在?

我该如何用更好的方式做到这一点?

回答

0

您可以检查电子邮件arealdy与findUserByEmail方法只是updateUser之前就存在:

$user = $this->get('fos_user.user_manager')->findUserByEmail($mail);