2

symfony 2 でアンケートを管理しようとしていますが、コードは部分的に機能しています。このエラーが発生します

タイプ「ブール」、「文字列」の引数が必要です

コントローラーの私のコードは次のとおりです。

public function generateForm($questionnaire, $evaluation)
{


    //Get question array collection
    $questions = $questionnaire->getQuestions();
    $formBuilderQuestionnaire = $this->createFormBuilder();
    $i = 0;


    //Make a loop for each question
    foreach($questions as $question)
    {

        //Create an answer form
        $answer = new Answers($question, $evaluation);
        $formBuilder = $this->get('form.factory')->createNamedBuilder($i, 'form', $answer);


        //Add a answer text box with the question as label
        $formBuilder->add('answerText' , 'textarea',  array(
            'required' => false,
            'label' => $question->getQuestionText() 
        ));



        if($question->getHasMultipleAnswers() == 1)
        {
            //Get subquestions
            $subQuestions = $question->getSubQuestions();

            //Initiate var j
            $j = 0;

            //Make a loop for each subanswers of a question
            foreach($subQuestions as $subQuestion)
            {
                if($question->getMultipleAnswersAllowed() == 1)
                {
                    //Create a subanswer entity for each subQuestion
                    $subAnswer = new subAnswers($subQuestion, $answer);

                    //Create a sub answer form
                    $formBuilder2 = $this->get('form.factory')->createNamedBuilder($j, 'form', $subAnswer);

                    $formBuilder2->add('value');

                    $j++;
                }
                else
                {
                    //Get the different choices
                    $choices[$subQuestion->getId()] = $subQuestion->getSubQuestionsText();
                }
            }

            if($question->getMultipleAnswersAllowed() == 0)
            {
                $formBuilder->add('AnswerChoice', 'choice', array(
                    'choices'   => $choices,
                    'required'  => true,
                    'expanded'  => true
                ));
            }
            else
            {
                if(isset($formBuilder2))
                {
                    $formBuilder->add($formBuilder2);
                }
            }

            $choices = NULL;

        }

        $formBuilderQuestionnaire->add($formBuilder);

        $i++;

    }

    //Create the form
    $form = $formBuilderQuestionnaire->getForm();
    return $form; 
}

私のエンティティsubAnswersには、ブール値として属性「値」があります。

それを削除するとエラーは消え$formBuilder->add($formBuilder2);ますが、質問のチェックボックスを表示する必要があります。

この問題を解決するためのアイデアはありますか?

4

0 に答える 0