【问题标题】:How to handle json_array type with formbuilder in symfony?如何在 symfony 中使用 formbuilder 处理 json_array 类型?
【发布时间】:2019-04-25 09:48:35
【问题描述】:

在 Symfony 表单中不必为 json_array 键入(EntityType,TextType)。所以我需要将json_array 存储在数据库列中,并在新建和编辑中工作。有人对此有想法吗?

【问题讨论】:

  • 为什么不直接使用 TextType 来存储你的 json 呢?
  • 是的,对,但是在Edit操作中如何轻松管理呢?
  • 这取决于您要存储的内容以及您在 json 中编码的数据。为什么你的表单中需要一个“JsonType”?
  • 在表单中,我有一个用户可以选择多个选项的文件。我必须将子表键存储在 json_array 中的单个列中。
  • 所以你可以在你的控制器中获取这个数组并在你的控制器的 isValid 部分之后使用 json_encode 手动设置它?

标签: php symfony formbuilder


【解决方案1】:

您可以创建一个新的表单类型,其中包含您想要在实体中存储为 json 数组的所有数据。默认情况下,如果没有定义data_class,表单将返回数据作为(关联)数组,其中键是字段名称,属性是值。如果您将此数据放在实体的属性中,该属性将作为 json_array 持久化,它应该可以立即工作。

另请参阅:https://symfony.com/doc/current/form/without_class.html

【讨论】:

    猜你喜欢
    • 2018-09-30
    • 2018-07-15
    • 2016-09-27
    • 1970-01-01
    • 2017-06-09
    • 1970-01-01
    • 2016-01-24
    • 1970-01-01
    • 2013-08-18
    相关资源
    最近更新 更多