duanli0119 2018-12-19 10:41
浏览 18

在不更改密码的情况下更新UserEntiy

I have User Entity for user registration on Symfony 4

I have User entity which has password.

Now I want to update some parts of row by Sonata Admin Bundle.

However it fails to update User entity because of there is no password.

in my UserAdmin.php

$formMapper->add('email');
$formMapper->add('nickName',null,array('required' => false));
$formMapper->add('enabled',null,array('required' => false));

I just want to change nickName or email without touching password.

in Entity I don't use validation, use Assert like this

User.php

/**
 * @Assert\NotBlank()
 * @Assert\Length(max=4096)
 */
private $plainPassword;

/**
 * The below length depends on the "algorithm" you use for encoding
 * the password, but this works well with bcrypt.
 *
 * @ORM\Column(type="string", length=64)
 */
private $password;

When registration, it works well like this in Controller.

$password = $passwordEncoder->encodePassword($user, $user->getPlainPassword());
$user->setPassword($password);

$entityManager = $this->getDoctrine()->getManager();
$entityManager->persist($user);
$entityManager->flush();
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 Vue3 大型图片数据拖动排序
    • ¥15 划分vlan后不通了
    • ¥15 GDI处理通道视频时总是带有白色锯齿
    • ¥20 用雷电模拟器安装百达屋apk一直闪退
    • ¥15 算能科技20240506咨询(拒绝大模型回答)
    • ¥15 自适应 AR 模型 参数估计Matlab程序
    • ¥100 角动量包络面如何用MATLAB绘制
    • ¥15 merge函数占用内存过大
    • ¥15 使用EMD去噪处理RML2016数据集时候的原理
    • ¥15 神经网络预测均方误差很小 但是图像上看着差别太大