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

Data in array collection shows empty when retrieving info

我正在使用 symfony 创建一个网络应用程序。我目前正在构建表单,因为我从未使用过 ManyToMany 关系,所以我在检索信息时遇到了一些问题。

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

关键是,当我在 twig 模板中检索数组的信息时,数组中的数据 属性 显示为空,而 Alumne 的实体已创建。让我告诉你。

Twig 模板(创建页面):

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

我这样做的结果是:

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

(我也稍微改变了树枝模板,使其更具可读性) 有效!

如您所见,已创建校友。

关键是,如您所见,它创建的 select 和选项标签有点难看,我想自定义它以适合其余表单。所以这就是为什么我在构建器中需要一个 CollectionType 并且我不知道我做错了什么。另外,如果我检查转储(form.alumnes.vars.data),它显示为空。

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

如果你省略了类型,Symfony 将尝试猜测要使用的表单元素并且会(正确地)猜测 EntityType