访问未映射到对象的表单的“集合字段”中的额外字段

时间:2012-06-30 12:47:11

标签: symfony

我正在使用symfony2对网站进行编程。

我的表单包含名为From Type的{​​{1}}的集合。像这样的事情:

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的{​​{1}}函数:

buildForm

并且它有效,但是,问题是我如何访问这个新领域的数据?

在这个额外字段直接添加到表单的情况下,答案是:

OptionType

但是这里我有一个$builder->add('optionImage', 'file', array('property_path' => false)); 的集合,这段代码不起作用。

其中一个答案是“不要将$form->get('optionImage')->getData(); 映射到From Type(使用没有类的表单)并获取提交数据的数组,并自己处理这些数据”;但由于某种原因,我不想使用这个解决方案。

1 个答案:

答案 0 :(得分:0)

试试这个:

$form['options'][0]['optionImage']->getData();

其中0在集合中偏移