Symfony2 从提交的表单数据中删除 id 字段

Symfony2 remove id field from submitted form data

我的 Symfony2 表单有一个包含实体 ID 的文本字段。

我使用以下方法实现了这一点:

$formBuilder->add('id', TextType::class, ['attr' => ['readonly' => true]])

当提交表示现有实体的表单时,ID 被传递并且 Doctrine 搜索访问器方法来修改 ID。此时,抛出异常,因为实体不允许更改 ID。

Symfony2 中常见的提供只读字段的方式是什么,该字段不打算保存?

readonly 是给客户的。它表示客户端不能更改元素的值。但它将与表格一起提交。

如果您不想提交元素的值,请改用 disabled