2017-09-25 5 views
0

これは私のコントローラの編集アクションの一部です。方法はPUTです。送信フォームの後に以前のエンティティデータを失ったSymfony 3

public function editRentalAction(Request $request, Rental $rental): JsonResponse 
{ 
    $rentalManager = $this->get('rental.rental_manager'); 

    $form = $this->createForm(RentalType::class, $rental); 
    $form->submit(json_decode($request->getContent(), true)); 

私はリクエストからいくつかのエンティティデータ(私は更新したい厥)を提出しようとすると、他のすべてのエンティティデータが失われた(nullとして設定)されています。私が送ったこのパラメータだけをどうやって変更することができますか?

要求ペイロード:

{"example_parameter": "example"} 
+0

を使用していますか? – nifr

+0

Symfony 3.3 – Cliassi

答えて

1

PUTは空特性を無効にします。

ベストソリューション:PUTの代わりにPATCHを使用してください。

代替:PUT(更新されたプロパティだけでなく)オブジェクト全体を送信しました。

+0

'PATH'にも同じ問題があります – Cliassi

関連する問題