作为`data_class`实例的表单的视图数据中的要点是什么

时间:2017-01-14 16:02:55

标签: forms symfony

有关stackoverflow的许多问题,询问symfony表单中的错误,该错误表明表单的查看数据必须是data_class选项的实例。例如:this one
现在transformation的全部要点是获取可以在视图中呈现的内容,例如:一个字符串,并在后端获取模型对象,因此要求<查看数据是data_class选项的实例,相反,模型数据应该是data_class的实例那么什么我在这里失踪了吗?

2 个答案:

答案 0 :(得分:2)

您提到的问题是预计会有 SINGLE 实体,但实体的 ARRAY 。因此对 VIEW 实体转换结果的期望失败了。这意味着 VIEW 数据表示 ENTITY data_class 的实例。

因此,您可以执行进一步的转换以达到满足期望,或者通过删除data_class来放宽期望。

您缺少的是 VIEW 数据仍然是 data_class实例,但它已经过规范化和序列化。

答案 1 :(得分:0)

我想你在这里没有遗漏任何东西。如果您检查Form::getData()的源代码,则会在那里看到return $this->modelData;

所以基本上你是对的。要求'model data'是'data_class'的实例。

变形金刚负责将“模型数据”转换为“查看数据”并返回。例如,标签对象数组以逗号分隔字符串并返回对象。