我正在嘗試做一些我不確定是否可以執行的操作。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對象的選定選項的標籤?
如何做到這一點?
謝謝