我不对实体使用任何 ORM。此表单仅用于发送电子邮件。
在我的控制器中,我有这个:
$builder = $this->myHelper
->createBuilder('form', null)
->add('my_group', 'collection', array(
'type' => 'text',
'label' => 'mylabel'
));
$builder->get('my_group')->add('first_node', 'text');
$builder->get('my_group')->add('second_node', 'text');
return $builder->getForm();
表单呈现正常 - 具有预期的其他输入字段。但是当涉及到绑定请求以在我的数据后处理操作中形成时 -my_group
字段为空(即使由于该字段已发布在'form'
数组中):
// var_dump($request->get('form'));die;
array
'my_group' =>
array
'first_node' => string 'asdasd' (length=3)
'second_node' => string 'asdasda' (length=3)
当我将请求绑定到表单时,我在my_group
集合字段中有 null (所有其他输入都可以)。
$form->bindRequest($request);
$formData = $form->getData();
var_dump($formData);die; // Outputs my_group => null
我究竟做错了什么?
更新 1
Twig 模板的一部分(由Max请求):
{% for field in form.children if 'hidden' not in field.vars.types %}
...
{% elseif 'collection' in field.vars.types %}
<th>{{ form_label(field) }}</th>
<td>
{% for collection_field in field %}
{{ form_widget(collection_field) }}
{% endfor %}
</td>
{% else %}
...
{% endfor %}