首页 > 解决方案 > 如何处理 symfony 形式的额外数据?

问题描述

我有一个名为 Project 的实体,它具有namemembers属性。成员引用User实体但没关系。我想知道如何处理通过 API 作为 json 传递的额外数据。

我想传递诸如json代码:

  {
    "project": {
      "name": "Testowy project",
      "members": [
        "chester58@boehm.com",
        "someotherhuman@gmail.com"
      ],
      "members_roles": {
        "chester58@boehm.com": "user",
        "someotherhuman@gmail.com": "admin"
      }
    }
  }

如您所见,有 member_roles 属性,但在实体中没有。我不确定是否应该在表单的选项中将 allow_extra_fields 设置为 true 并独立处理 - 如果是这样,是否可以仅针对选定字段限制额外字段?

我希望我足够清楚。

标签: phpsymfony

解决方案


您可以在表单类型中添加字段并将选项设置mappedfalse

$form->get('fieldName')->getData()您将可以通过或通过表单事件访问提交的值。

表单选项:映射


推荐阅读