我目前正在创建一个表单,类似于:
$myDto = // ... etc - I am not using Doctrine
$form = $this->createForm(new DtoType(), $myDto);
$form->bind($request);
这些值绑定到表单并最终分配给 $myDto。没关系。
我想在我的表单中为不同的对象添加几个额外的字段。
我可以创建一个包含它们的“复合”类型 - 我可以称它为CompositeFormType
包含DtoType
(原始表单)和ActionsType
(新字段),有点像这里描述的http://symfony.com/doc/current/book/ forms.html#embedded-forms。
如果这是最好的方法,那么一旦我创建了这个CompositeFormType
,我将如何将值输入/输出表单?我会将什么传递给“createForm”?例如:
$myDto = // ... etc
$actions = // ... etc
$form = $this->createForm(new CompositeFormType(), ???);
// What here? ^
//
// I want both 'actions' and 'myDto' to be populated by
// the child types? How?
$form->bind($request);
...还是我应该以完全不同的方式来做?提前感谢您的指点。