メソッドを介してコントローラーからフォームに変数を渡す方法を理解していますが、 createFormcreateForm
と呼ばれるフォームに埋め込まれたフォームにその値を渡す必要がある場合はどうなりますか?埋め込まれたフォームのどこでもcreateFormを明示的に呼び出すことはありませんが、その値をどのように取得するのでしょうか。私が渡そうとしている値はサービスを通じて利用可能であることに注意する価値がありますが、私はコントローラーにいないため、電話をかけることができません。参考までに、これは親フォームに値を取得する方法です。コンストラクターではなく、 createFormメソッドを使用して取得する方法に注意してください。$this->get('serviceName')->getValue()
//in a controller
$form = $this->createForm(new FormType(), $formObject, array('value' => $value));