У меня есть эта форма, которая относится к объекту класса Film, который имеет отношение режиссера, и я хотел бы иметь выбор между выбором существующего режиссера или созданием нового.Первый вариант прост:
class FilmType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('director');
}
}
Второй вариант тоже довольно прост:
class FilmType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('director', new DirectorType());
}
}
, но я не могу понять, как согласовать два решения.Я пробовал это:
class FilmType extends AbstractType
{
public function buildForm(FormBuilder $builder, array $options)
{
$builder->add('director')->add('director2', new DirectorType());
}
}
но, конечно, это не работает, потому что у моей сущности нет соответствующего поля, и я получаю следующую ошибку:
Ни одно из свойств "Director_2"ни метод "getDirector2 ()", ни метод "isDirector2 ()" не существуют в классе "Uc \ LegalBundle \ Entity \ Film"
Я думаю, что мне, возможно, следует создать новый класс с именем DirectorChoiceType
, длянапример, но это кажется слишком много для этого.Разве нет более простого пути?
Макет того, чего я хочу достичь: