1

我正在使用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这个代码不起作用。

答案之一是“不要映射OptionTypeOption(使用没有类的表单)并取回提交的数据数组,并自己处理这些数据”;但由于某种原因,我不想使用这个解决方案。

4

1 回答 1

0

尝试这个:

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

其中 0 是集合中的偏移量

于 2012-07-09T13:03:31.810 回答