在同一视图中创建多个 symfony 4 表单

Create multiple symfony 4 forms in the same view

我有一个 symfony 4 应用程序,它在同一页面上有多个表单。 但是,因为它们使用相同的 formType,所以只有一个呈现正确的输入。

有一个创建表单和多个更新表单,它们在用户单击模式时触发。我通过调用一个 twig include 然后将项目 id 传递到部分来呈现页面上的更新表单。然后部分呈现与创建表单相同的表单,但使用传递的对象中的值。

有什么方法可以实现吗?

当前视图的基本表示:

{#create form#}
{{ form_start(form) }}
{{ form_widget(form) }}
{{ form_end(form) }}

{#update form1#}
{{ form_start(, {'action': path('edit', { "id" : update.id }),  'attr': {'id' : dealer.id}}) }}
{{ form_widget(form) }}
{{ form_end(form) }}

{#update form2#}
{{ form_start(, {'action': path('edit', { "id" : update.id }),  'attr': {'id' : dealer.id}}) }}
{{ form_widget(form) }}
{{ form_end(form) }}

我想对 CRUD 使用相同的控制器方法,并尝试为每个更新实体创建一个 Form\AbstractType,但没有成功!

不是发送所有相同名称的表单,而是更改为名称、formRead、formUpdate、FormDelete 等。 最后一个 $form 会将 self 覆盖为之前的一个。

{% if formRead is defined %}
{#create form#}
{{ form_start(formRead) }}
{{ form_widget(formRead) }}
{{ form_end(formRead) }}
{% end if %}

{% if formUpdate is defined %}
{#update form1#}
{{ form_start(formUpdate, {'action': path('edit', { "id" : update.id }),  'attr': {'id' : dealer.id}}) }}
{{ form_widget(formUpdate) }}
{{ form_end(formUpdate) }}
{% end if %}