我正在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()
答案 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
,这是您需要的版本。