更新特定用户FOSuserbundle

时间:2016-03-30 00:43:52

标签: php symfony web fosuserbundle

我正在使用symfony在网站上工作,在仪表板管理员的部分我喜欢管理员可以更改用户个人资料,以便例如更改用户名或密码

我正在使用FOSuserbundle和表“fos_user”,以便我如何更改用户信息?

1 个答案:

答案 0 :(得分:4)

您应该使用fos_user.user_manager服务。

在您的控制器中,使用

从数据存储中检索用户
$userManager = $this->get('fos_user.user_manager');
$user = $userManager->findUserBy(array('id'=> $id)); // get user by id
// or
$user = $userManager->findUserByUsername($username); // get user by username

然后你可以改变你想要的东西,例如:

$user->setEmail('new_email@foo.com');
$user->setPlainPassword('new_password');

最后,您可以使用

更新数据
$userManager->updateUser($user);