0

私は多くのことを試みましたが、この問題の解決策をまだ見つけることができませんでした。それが可能かどうかはわかりません。

私は1つのテーブルと呼ばれStudent、次にテーブルと呼ばれAssigmentSolutions

現在、すべての生徒に共通の課題テーブルに保存されている質問があります。しかし、異なる学生は異なる解決策を提出します。

フォームlabelに質問テキストとして表示し、次にその質問の解決策としてテキストボックスを表示します。

最初はデータベースに空の答えがあります。

symfonyを使ってこのフォームを作成する方法がわかりません。

すべてのソリューションが1つの送信ボタンで一緒に送信されるため

Class AssignmentFormType{

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

これは正常に機能していますが、ここで必要なのは、そのQuestionTextをその回答のラベルとして表示することだけで、1週間はそれを見つけることができません。

4

1 に答える 1

1

あなたがしようとしているのは、エンティティからの情報に基づいてフォーム要素を動的に作成することです(つまり、label = $ entity-> getQuestionを設定します)

2つのアプローチ:

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 に答える