私はループ内のフォームにフィールドを追加しようとしています。SilexでFormViewを作成できないのはなぜですか?
<?php
namespace resources\model;
use Silex\Application;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
/**
* Class BuildTheForm
* @package resources\model
*/
class BuildTheForm
{
/**
* @param Application $app
* @param array $questions
* @return mixed
*/
public function buildTheForm(Application $app, array $questions)
{
$answers = [];
$form = $app['form.factory']->createBuilder('form');
$choices = array(
'A' => 'A Trifft auf nicht mich zu',
'B' => 'B',
'C' => 'C',
'D' => 'D',
'E' => 'E - Trifft auf mich zu'
);
for ($i = 0; $i <= 28; $i++) {
array_push($answers, $i);
}
foreach ($answers as $answer) {
$form->add(
$answer,
'choice',
array(
'choices' => $choices,
'multiple' => false
)
);
}
$form->add(
'auswerten',
SubmitType::class
)
->getForm();
return $app['twig']->render(
'questions.html.twig',
array(
'questions' => $questions,
'form' => $form->createView()
)
);
}
私が手にエラーがある:
Fatal error: Call to undefined method Symfony\Component\Form\FormBuilder::createView() in /Library/WebServer/Documents/Psychoform/resources/model/BuildTheForm.php on line 67
あなたはエラーから来ているアイデアを持っていますか?
彼はすでに – KhorneHoly
の前に 'getForm()'メソッドを使用しています。これを指摘してくれてありがとう。私は私の答えを更新しました。 –
これは ''form' => $ form-> createView()'の代わりにエラー: ''form '=> $ form-> getForm() - > createView()'でした。以前は ' - > getForm()'を使用していたと思っていたので、エラーを理解していません........助けてくれてありがとうございます – freemindghost