У меня есть форма в Symfony3, который я инициализирует - следуя документации - как следует:Symfony3: Построить FormType
$form=$this->createForm(BookingType::class,$booking);
$ бронирования уже существующий объект, который я хочу изменить - но я хочу изменять форму в зависимости от объекта - как:
public function buildForm(FormBuilderInterface $builder,$options) {
$builder->add('name');
if(!$this->booking->getLocation()) {
$builder->add('location');
}
}
до Symfony 2.8 можно было построить FormType как:
$form=$this->createForm(new BookingType($booking),$booking);
Это именно то, что я хочу :) Но в Symfony3 этот метод выдает исключение. Как передать объект в свой формат?
Вы можете использовать форму события для этого: http://symfony.com/doc/current/components/form/ form_events.html – xabbuh
В вашей формеType, я думаю, вы можете сделать '$ entity = $ builder-> getData()' – pbenard
@ Put12co22mer2 thats it - отлично работает! – cklm