Symfony2:将树枝模板中的表单中的数据提交到数据库

时间:2015-08-06 22:43:57

标签: forms symfony twig submit

我正在使用Symfony2渲染表单。目前,我的Controller中的操作方法呈现包含表单的视图:

/**
 * @Route("/hot", name="sort")
 * @Template()
 */
public function testAction(Request $request)
{
    $task = new enquiry();
    $form = $this->createForm(new QuestionType(), $task);

    return $this->render('IWABundle:Default:index.html.twig', array('form'=>$form->createView()));
}

我的index.html.twig文件中显示表单的部分如下所示:

{% block form %}
    <form action="{{ path('fake') }}">
        {{ form_start(form) }}
        {{ form_start(form.email) }}
        {{ form_start(form.firstname) }}
        {{ form_start(form.Enquiry) }}
        {{ form_end(form) }}
    </form>
{% endblock %}

如何使用Twig将用户的输入持久保存到数据库中。我已将上述表单中的操作包含在另一个控制器中以处理表单,但它似乎无法正常工作。如果你知道一个简单的程序提交数据一旦使用点击提交我真的很感激,如果你可以启发我。

非常感谢

1 个答案:

答案 0 :(得分:0)

当您输入此内容时,您可以轻松地在symfony2文档中搜索答案。

确保路由器同时接受这两种方法。

public function testAction(Request $request)
{
    $em = $this->getDoctrine()->getManager();
    $task = new enquiry();
    $form = $this->createForm(new QuestionType(), $task);
    $form->handleRequest($request);
    if ($form->isValid()) {
        $em->persist($task);
        $em->flush();
    }
    return $this->render('IWABundle:Default:index.html.twig', array('form'=>$form->createView()));

}