我正在使用symfony2
.
我有一个表单,其中包含一个From Type
带有 name的集合OptionType
。像这样的东西:
$form = $this->createFormBuilder($defaultData)
->add('short_title', 'text')
->add('options', 'collection', array('type' => new OptionType(),'allow_add' => true, 'allow_delete' => true, 'by_reference' => false))
...
OptionType
根据定义,映射到Option
类的对象。
现在我需要添加一个OptionType
不是Option
类成员的额外字段。对于这种情况,我将此行添加到以下buildForm
功能OptionType
:
$builder->add('optionImage', 'file', array('property_path' => false));
它有效,但是,问题是我如何访问这个新领域的数据?
如果这个额外的字段直接添加到表单中,答案是:
$form->get('optionImage')->getData();
但在这里我有一个集合,From Type
这个代码不起作用。
答案之一是“不要映射OptionType
到Option
(使用没有类的表单)并取回提交的数据数组,并自己处理这些数据”;但由于某种原因,我不想使用这个解决方案。