Вложенные формы Symfony 1.4

Опубликовано: 2013-11-05 14:04:16

Была задача о том, чтобы разработать сервис анкет. Сервис предусматривает создание анкеты, создание вопроса для анкеты, создание нескольких вариантов ответов для вопроса.

Ниже пример кода, как можно сделать подобное с использованием фреймворка форм Symfony

1.4

[php]

$questionForm = new sfForm();

$this->useFields(array('name', 'description'));

foreach ($this->getObject()->getSfSurveyQuestions() as $q)

{

$sfSurveyQuestionForm = new sfSurveyQuestionForm($q);

  $answerForm = new sfForm();



  foreach ($q->getSfSurveyAnswers() as $answer)

  {

    $sfSurveyAnswerForm = new sfSurveyAnswerForm($answer);

        $answerForm->embedForm($answer->getId(), $sfSurveyAnswerForm);

  }



  $sfSurveyQuestionForm->embedForm('answers', $answerForm);

 $questionForm->embedForm($q->getId(), $sfSurveyQuestionForm);

}

$this->embedForm('questions', $questionForm);

[/php]