従業員の変更された形式を作成しようとしていますが、パスワードフィールドに問題があります。
フォームを表示しているときに、空白のパスワードで変更されたパスワードに何も挿入しない場合。これは正しくありません。ユーザーがパスワードを何もしなくても、パスワードが空白にならないようにしたいと思います。
従業員の変更された形式を作成しようとしていますが、パスワードフィールドに問題があります。
フォームを表示しているときに、空白のパスワードで変更されたパスワードに何も挿入しない場合。これは正しくありません。ユーザーがパスワードを何もしなくても、パスワードが空白にならないようにしたいと思います。
ここでの問題は、1つのフィールドを使用して、プレーンパスワードとそのハッシュという2つの異なるものを保持していることです。$plainPassword
したがって、代わりに、それらをとに分割し、が空でない場合にのみフィールド$password
を更新します。$password
$plainPassword
if ($plainPassword = $user->getPlainPassword()) {
$encoder = $this->get('security.encoder_factory')->getEncoder($user);
$password = $encoder->encodePassword($plainPassword, $user->getSalt());
$user->setPassword($password);
}
送信(変更)されていない場合は、パスワードフィールドを更新しないでください。必要なのはそれだけだと思います
/**
* @ORM\Entity
**/
class User
{
// your setters/getters
public function setPassword($password)
{
if (null === $password) {
return;
}
$this->password = $password;
}
}