【发布时间】:2011-09-14 09:14:56
【问题描述】:
我有一个与电影类对象相关的表格,该对象具有导演关系,我想在选择现有导演或创建新导演之间做出选择。 第一个选择很简单:
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 的新类,例如,但这似乎有点太多了。没有更简单的方法吗?
我想要实现的样机:
【问题讨论】:
-
@hakre:抱歉,我打错了,我指的是导演,而不是目录。
-
@gregOire:我是这么想的,但也打错了。
-
请问您要做什么? (简单来说)创建新董事或重新使用现有董事的实际决定是什么?
-
用户必须在这两种解决方案之间进行选择,我将很快添加一个模型以便清楚。
-
@gregOire:然后让用户决定并采取行动。你有什么问题?可能只有一个。