更新特定用户 FOSuserbundle

Update specific user FOSuserbundle

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

我正在使用 FOSuserbundle 并且 table "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);