1

我需要你的帮助,我想在 Symfony2 中显示我创建的表单。我想显示我创建的表格 92 次,因为我的数据库中有 92 个数字(每个数字都是一个表格),我不知道该怎么做,这是我的代码:控制器:

class DefaultController extends Controller
{
 public function QuestionsAction(Request $request)
 {   
     $questions = $this->getDoctrine()->getEntityManager()
          ->getRepository('Tests\TestsPhpBundle\Entity\Question')     
          ->findAll();
    $task = new Question();
    $forms = $this->createForm(new QuestionType(), $task);   
    if ($request->getMethod() == 'POST') {
    $forms->bindRequest($request);             
        if ($forms->isValid()) 
         {
             $em = $this->getDoctrine()->getEntityManager();
             $em->persist($task);
             $em->flush();
             }                 
  }  
       {
 return $this->render('TestsTestsPhpBundle:Default:index.html.twig', array(
        'questions' => $questions,
        'forms' => $forms->createView()
                      ));      
       }

 }
 }

我的表格文件:

class QuestionType extends AbstractType
       {
        public function buildForm(FormBuilder $builder, array $options)
         {


         $builder
            ->add('categories',  null, array('required' => false,                                              
                                            ))                                         

            ->add('text', 'entity', array(
                         'class' => 'TestsTestsPhpBundle:Question',
                         'query_builder' => function($repository) { 
     return $repository->createQueryBuilder('p')->orderBy('p.id', 'ASC'); },
                         'property' => 'text'))
                ;
    }
     public function getDefaultOptions(array $options)
    {
        return array(
            'data_class' => 'Tests\TestsPhpBundle\Entity\Question',);
    }
    public function getName()
    {
        return 'question';
    }
    }

我的树枝文件:

{% block content %}

  <h2>Questions</h2>

   {% for question in questions %}

   <dl>
    <dt>Number</dt>
    <dd>{{ question.number }}<dd>

  {% for form in forms %}

   {{ form_row(forms.categories) }}   
     {{ form_row(forms.text) }}

    </dl>
      {% endfor %}
       <hr />
    {% endfor %}
   {% endblock  %}
4

1 回答 1

1

我建议阅读 capter:嵌入控制器 http://symfony.com/doc/2.0/book/templating.html

<div id="sidebar">
    {% render "AcmeArticleBundle:Article:recentArticles" with {'max': 3} %}
</div>

您可以在 Twig 模板中创建一个 for 循环,并在呈现表单的地方调用一个操作(如果需要,可以使用参数)。-> QuestionsAction 在你的情况下。

于 2012-10-17T14:46:41.790 回答