我已经尝试了很多,但还没有找到解决这个问题的方法。我不确定这是否可能。
我有一个名为Student
的表,然后是名为Assigment
和Solutions
现在,分配表中存在的问题对所有学生来说都很常见。但不同的学生会提交不同的解决方案。
在表单上,我希望将label
作为问题文本,然后将文本框作为该问题的解决方案。
一开始我在数据库中有空答案。
我很困惑如何使用symfony构建此表单
如果所有解决方案都将通过一个提交按钮
下载到togetehrClass AssignmentFormType{
$builder-> add('answer','collection' ....)
这个工作正常,但我想要的唯一的事情是将QuestionText显示为该答案的标签,我无法在1周内找到它
答案 0 :(得分:1)
您要做的是根据您实体的信息动态创建表单元素(即设置label = $ entity-> getQuestion)
两种方法:
一个。动态表格
http://symfony.com/doc/master/cookbook/form/dynamic_form_generation.html
基本上涉及设置一个监听器,然后使用它来创建可以访问每个单独实体的表单元素。有点痛,但它有效。
B中。在表单模板内
由于您要做的只是更改标签,因此可能更容易将其设置在表单模板中。类似的东西:
{{ form_label(form.assignment, form.assignment.vars.value.question) }}
.data应该为您提供实际的分配实体,您可以从中提取问题。