Symfony 2表单找不到Handle请求

时间:2014-09-10 11:19:24

标签: php symfony controller request handle

我正在symfony 2控制器中创建一个表单。

这是它的样子:

    $data = date('Y-m-d');
    $time = date('H:i:s');



    $form = $this->createFormBuilder()

        ->add('incident', 'entity', array('class' => 'MainCoreBundle:Incidenttype', 'multiple' => false, 'expanded' => true))
        ->add('date', 'text',array('data'=>$data))
        ->add('time', 'text',array('data'=>$time))
        ->getForm();

   $form->handleRequest($request);



    if ($form->isValid())

        if ($request->getMethod() == "POST") {

            $message = \Swift_Message::newInstance()

        ->setSubject('SUBJECT')
        ->setFrom('formularz@formularz.pl')
        ->setTo('email@email.com')
        ->setBody(
            $this->renderView(
                'MainAdminBundle:Msg:index.html.twig'));

    $this->get('mailer')->send($message);

    return $this->indexAction($request);

        }

我想创建一个包含以下内容的表单:2个输入: - 一个当前时间 - 当前日期的第二个 - 第三部分来自实体(它将是选择框)

点击后我想将其发送给邮件。

我的错误是:Call to undefined method Symfony\Component\Form\Form::handleRequest()

1 个答案:

答案 0 :(得分:4)

您可能正在使用2.3之前的Symfony版本

http://api.symfony.com/2.2/Symfony/Component/Form/Form.html
该版本的类缺少该方法,尽管它使用bindRequest

http://api.symfony.com/2.3/Symfony/Component/Form/Form.html
方法bindRequest已被移除,转而使用handleRequest

将composer.json中的symfony/symfony版本切换为~2.5。它向后兼容2.3,这是您需要的版本。