更新特定用户FOSuserbundle


Update specific user FOSuserbundle

我正在使用symfony开发网站,在仪表板管理部分,我喜欢管理员可以更改用户配置文件,例如更改用户名或密码

我正在使用FOSUSERbundlean和表"fos_user",所以我如何更改用户信息?

您应该使用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);