检索信息时数组集合中的数据显示为空

问题描述

我正在用 symfony 创建一个网络应用程序。我目前正在构建表单,但由于我从未使用过多对多关系,因此在检索信息时遇到了一些问题。

我正在使用的表格是这样的:

enter image description here

重点是,当我在twig模板中检索数组的信息时,数组中的数据属性显示为空,当创建了Alumne的实体时。让我给你看看。

Twig 模板(创建页面):

enter image description here

如您所见,我假装是检索数组中每个 Alumne 实体的信息。

我这样做的目的是:

enter image description here

校友字段完全是空的。但是,如果我将表单生成器更改为:

enter image description here

(我还对树枝模板进行了一些更改以使其更具可读性) 它有效!

enter image description here

正如你所看到的,创建了一个校友。

重点是,正如您所看到的,它创建的 select 和 option 标签有点丑,我想自定义以便它适合其余的表单。所以这就是为什么我需要在构建器中使用 CollectionType 而我不知道我做错了什么。此外,如果我检查转储(form.alumnes.vars.data)它显示为空。

解决方法

这里的问题是,您使用 CollectionType 而不是 EntityType。要将数据库中的数据加载到表单中,您应该使用 EntityType https://symfony.com/doc/current/reference/forms/types/entity.html

如果您不输入类型,Symfony 将尝试猜测要使用的表单元素并(正确)猜测 EntityType