2016-12-07 10 views
1

私はGuideをデータベースに投稿しようとしています。私の要求は、次のようになります。Symfony 3 - オブジェクトをエンティティに渡す

{ 
    "name": "test", 
    "comany": 1 
} 

マイフォーム:これが動作している

$builder 
     ->add('name', TextType::class) 
     ->add('company', EntityType::class, array('class' => 'AppBundle:Company', 'allow_extra_fields' => true)); 

が、私のフロントエンドで、それはオブジェクトとしてcompanyで要求を作成する方が簡単とだけ渡していないでしょうid。私はこのような要求にする場合:

{ 
    "name": "test", 
    "company": { 
    "id": 1, 
    "name": "company1" 
    } 
} 

を私はエラーBad Request {"form":{"children":{"name":{},"company":{"errors":["This value is not valid."]}}},"errors":["This value is not valid."]}

どのように私はこの問題を解決することができますを取得しますか?

答えて

1

本当に会社オブジェクト全体をリクエストに渡す必要がある場合は、リクエストデータをフォームで理解できるものに変換する必要があります。

私はForm Events、特にFormEvents::PRE_SUBMITイベントを調べます。文書によると、このイベントにフックすることは、あなたができるようになります:にデータを送信する前に

  • 要求からの変更データを、フォーム
  • にデータを送信する前に、フォームフィールドの追加または削除フォーム。
+0

ありがとう、これは私の問題を解決するのに役立ちました。 – Oudstand

関連する問題