2013-06-27 5 views
28

Ich versuche, die Entität in das eigene Formular zu bekommen. Ich faul erinnere mich an eine getData() -Methode, aber es existiert nicht innerhalb des Formulars, und ich kann mich nicht erinnern, wie man es benutzt.Wie auf die Entität innerhalb der BuildForm-Methode eines Formulars zugreifen

Gibt es eine Möglichkeit, die Entität in der buildform-Methode nicht mit einem Ereignis-Listener zu verwenden?

Ich meine, so etwas wie dieses:

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

Antwort

54

ich es gefunden:

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

Bitte beachten Sie, dass, wenn Sie Art in der Sammlung verwenden Sie Formularereignisse verwenden müssen $ Builder- > addEventListener (FormEvents :: PRE_SET_DATA, Funktion (FormEvent $ event) verwenden ($ builder) { /** @var YourEntity $ data */ $ data = $ event-> getData(); }); – nvvetal