您好,我正在嘗試查看(從得出結(jié)論后)如何驗證其中之一'choices' => $question->buildAnswerWithValidKey()是正確的。這是問題數(shù)組。Array( [Sonne] => 1 [Mond] => [Und Sterne] => )我試圖在表格被提出后對此進行驗證。這是我的'choices'功能。根據(jù)具有正確密鑰的問題(在這種情況下為1或0,是/否),它會得到答案。 public function buildAnswerWithValidKey() { $answers = []; $valid = []; $answersWithValidKey = []; /** @var Answer $answer */ foreach ($this->getAnswers() as $answer) { $answers[] = $answer->getAnswer(); $valid[] = $answer->getValid(); } //Sets answers as item and valid as key as required by 'choices' $answersWithValidKey[] = array_combine($answers, $valid); return $answersWithValidKey; }這是我的控制器。我在努力驗證單選按鈕的位置。 /** @var Question $question */ $question = $this->questionRepository->findById(12)[0]; $options = ['question' => $question]; $form = $this->createForm(ExamType::class, null, $options); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { } return [ 'form' => $form->createView(), ];這是我可能有幫助的其他課程。Answer.php-ManyToOne映射到的位置。
1 回答

料青山看我應如是
TA貢獻1772條經(jīng)驗 獲得超8個贊
通常,要從表單中檢索數(shù)據(jù),您必須$form->getData()在處理完請求并檢查其是否有效之后調(diào)用。
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$answerData = $form->getData();
if (!empty($answerData['Answers'] )) {
// do something useful
}
}
但是,表單將根據(jù)其buildForm()方法返回數(shù)據(jù)內(nèi)容,而數(shù)據(jù)對象將嘗試將其放入其中,這是由中的data_class選項定義的FormType。如果要在數(shù)組中返回結(jié)果,data_class則應為null。(因此也必須設置此值,alternate是一個對象,以某種方式對返回值進行編碼)
- 1 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報
0/150
提交
取消