我在将数据从表单发送到数据库时遇到问题。我的表单已生成,但他们没有发送任何数据只有重定向后点击发送表单到网址# 什么可以解决问题 请看它我没有想法,这是非常重要的项目。 https://github.com/szopenkrk/mgr
这是来自控制器的parf:
/**
* @Route("/autor.html", name="url_autor")
* @Template()
*/
public function autorAction()
{
$document = new Work();
$form = $this->createFormBuilder($document)
->add('contentWork', 'text')
->add('workDate', 'date')
->add('title')
->add('file')
->getForm()
;
$loggedUser = $this->getUser();
if ($this->getRequest()->isMethod('POST')) {
$form->bind($this->getRequest());
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
/** @var $document \My\WorkBundle\Entity\Work */
$document->setAuthor($loggedUser);
$em->persist($document);
$em->flush();
return $this->redirect($this->generateUrl("url_thanks"));
}
}
return array('form' => $form->createView());
}
这是实体的一部分: https://github.com/szopenkrk/mgr/blob/master/src/My/WorkBundle/Entity/Work.php
答案 0 :(得分:0)
原因是当您渲染表单时,您没有为表单设置适当的操作。相反,你输入“#”,这就是你得到它的原因。
因此,您只需要在表单元素中更改操作属性。例如,作者视图更改:
<form action="#" method="post" {{ form_enctype(form) }}>
到
<form action="{{ path('url_author') }}" method="post" {{ form_enctype(form) }}>