我正在从Symfony 2.7迁移到2.8。
我的模型有字段$ text,它是数组并且有一个setter:
public function setText(array $text)
{
$this->$text = $text;
return $this;
}
我尝试保存的文字有两个不同语言的字段(FormType part bellow):
$builder->add('text_en', 'text', array(
'required' => false,
'property_path' => 'text[en]'
));
$builder->add('text_pl', 'text', array(
'required' => false,
'property_path' => 'text[pl]'
));
在Symfony 2.7上一切正常(setter用两个字段的值触发一次),但升级到2.8后,setter为每个字段触发两次,结果是$ text只有第二个字段的值而不是两者(第二次用' en'语言覆盖字段中的值)。有什么建议吗?
答案 0 :(得分:0)
你可以这样做(如果你恢复到旧的Symfony版本:):)
public function setText(array $text)
{
foreach ($text as $key => $value) {
$this->$text[$key] = $value;
}
return $this;
}