2013-06-27 2 views
28

私は自分のフォーム内でエンティティを取得しようとしています。私はgetData()メソッドを覚えていませんが、フォームの内部には存在しません。その使い方を覚えていません。フォームのbuildFormメソッド内のエンティティにアクセスする方法

イベントリスナーを使用しないbuildformメソッド内でエンティティを取得する方法はありますか?

私は、このようなものを意味する:私が見つけ

public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     /*some method to get the entity of the form such as getEntity????????*/ 
     $builder->add('field'); 
    } 

答えて

54

をそれ:

public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $entity = $builder->getData(); 
     $builder->add('field'); 
    } 
+22

あなたがコレクションにタイプを使用している場合は、フォームイベントを使用する必要があることに注意してください $ builder- > addEventListener(FormEvents :: PRE_SET_DATA、function(FormEvent $ event)use($ builder){ /** @var YourEntity $ data */ $ data = $ event-> getData(); }); – nvvetal

関連する問題