我正在尝试做一些我不确定是否可以执行的操作。Symfony 2:绑定请求以形成包含对象的对象
这里是我的表单对象:
class DeclarationForm {
private $string1;
private $paramObject;
}
这里是param对象:
class Param {
private $id;
private $name;
}
我想在创建阶段显示选择的“ParamObject”字段的形式
public function buildForm(FormBuilderInterface $builder, array $options) {
$phase = intval($this->options['phase']);
if($phase === 0) {
$params_qualities = $this->options['params_qualities'] // this is an array of Param Objects;
$qualities = new ObjectChoiceList($params_qualities, 'name', array(), null, 'id');
$builder->add('paramObject', 'choice', array(
'required' => true,
'choice_list' => $qualities
));
}
...
}
它工作正常,当然,当我提交表单时,只有所选选项的ID被放入请求。 问题是当我使用$ form-> handleRequest($ request);在控制器中,它会尝试将一个字符串(id值)放入我的DeclarationForm的Param对象中。
当handleRequest尝试将请求绑定到对象时,甚至有可能在请求中填充Param对象的选定选项的标签?
如何做到这一点?
谢谢