0

我已经尝试了很多,但还没有找到解决这个问题的方法。我不确定那是否可能。

我有一张桌子叫Student然后桌子叫AssigmentSolutions

现在有存储在作业表中的所有学生共有的问题。但是不同的学生会提交不同的解决方案。

在表格上,我希望将其label作为问题文本,然后将文本框作为该问题的解决方案。

一开始我在数据库中有空的答案。

我很困惑如何使用 symfony 来构建这个表单

因为所有解决方案都将通过一个提交按钮提交

Class AssignmentFormType{

$builder-> add('answer','collection' ....)

这工作正常,但我唯一想要的是将 QuestionText 显示为该答案的标签,我无法在 1 周内找到它

4

1 回答 1

1

您要做的是根据您的实体中的信息动态创建一个表单元素(即设置标签 = $entity->getQuestion)

两种方法:

A. 动态表格

http://symfony.com/doc/master/cookbook/form/dynamic_form_generation.html

基本上涉及设置一个侦听器,然后使用它来创建可以访问每个单独实体的表单元素。有点痛苦,但它有效。

B. 表单模板的内部

由于您要做的就是更改标签,因此将其设置在表单模板中可能会更容易。就像是:

{{ form_label(form.assignment, form.assignment.vars.value.question) }}

.data 应该为您提供可以从中提取问题的实际分配实体。

于 2012-08-10T13:44:58.637 回答