Ho una forma in Symfony3, che inizializzo - seguendo la documentazione - come segue:Symfony3: Costruire FormType
$form=$this->createForm(BookingType::class,$booking);
$ prenotazione è un'entità già esistente, che voglio modificare - ma voglio modificare il modulo a seconda dell'entità - come:
public function buildForm(FormBuilderInterface $builder,$options) {
$builder->add('name');
if(!$this->booking->getLocation()) {
$builder->add('location');
}
}
Prima Symfony 2.8 è stato possibile costruire il FormType come:
$form=$this->createForm(new BookingType($booking),$booking);
Che è esattamente quello che voglio :) Ma in Symfony3 questo metodo genera un'eccezione. Come posso passare un'entità al mio tipo di modulo?
È possibile utilizzare gli eventi di forma per questo: http://symfony.com/doc/current/components/form/ form_events.html – xabbuh
Nel tuo formType penso che tu possa fare '$ entity = $ builder-> getData()' – pbenard
@ Put12co22mer2 questo è tutto - funziona bene! – cklm