0
APIを使用してユーザープロフィールを編集しています。ユーザーがデータを編集するページには多くのフィールドがありますが、ユーザーがフォームを送信すると、編集したフィールドのみがAPIエンドポイントに送信されます。また、私はフォームマッピングを使用していません。私が見連想配列のみを使用してエンティティの特定のフィールドを変更するにはどうすればよいですか?
唯一の方法は、このような何か書くことです:
public function editProfile(FormInterface $form, User $user): User
{
$args = $form->getData();
if ($args['email']) {
$user->setEmail($args['email']);
}
if ($args['phone']) {
$user->setPhone($args['phone']);
}
// ...
$this->em->persist($user);
$this->em->flush();
return $user;
}
をしかし、それはひどい見て、私のフォームはフィールドの数十まで含まれていてもよいです。
この場合、誰かが良い解決法を知っていますか?
なぜドンフォームマッピングを使用していませんか? – miikes