我正在使用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);