如何在编辑时设置奏鸣曲形式 data_class

Posted

技术标签:

【中文标题】如何在编辑时设置奏鸣曲形式 data_class【英文标题】:how to set sonata form data_class on edit 【发布时间】:2019-02-16 19:32:09 【问题描述】:

我在使用 symfony 2.8 和 sonata admin/media bundle 的项目中遇到以下错误消息。如果我有一个编辑按钮,我登录奏鸣曲并导航到列表视图。我单击编辑按钮并收到以下错误。

错误信息: 表单的视图数据应为标量、数组或 \ArrayAccess 的实例类型,但它是 DateTime 类的实例。您可以通过将“data_class”选项设置为“DateTime”或添加将 DateTime 类的实例转换为标量、数组或 \ArrayAccess 实例的视图转换器来避免此错误。

我通过 *** 找到了一些答案,说需要在特定的表单类型上设置 data_class。但那是奏鸣曲,我能找到我必须处理的表格吗?

【问题讨论】:

【参考方案1】:

你可以在你的管理类中描述它

protected function configureFormFields(FormMapper $form)

    $form->add('date', 'datetime', array('data_class' => 'DateTime'));

【讨论】:

以上是关于如何在编辑时设置奏鸣曲形式 data_class的主要内容,如果未能解决你的问题,请参考以下文章

如何在奏鸣曲编辑表单中显示字段值?

您可以通过在使用 sonata_media_type 时设置“data_class”来避免此错误

如何在奏鸣曲管理员中为路由设置主机?

配置文件编辑时奏鸣曲用户捆绑错误

编辑对象奏鸣曲管理包

奏鸣曲管理员列表可编辑与编辑/显示冲突