如何检索刚验证过的表单的值?但我想操纵控制器中的值。我有这个代码来检索信息,但没有在控制器php中处理。
if ($form->isValid ()) {
$recuperacion = $form->getData ();
$em = $this->getDoctrine ()->getManager ();
$em->persist ( $recuperacion ); // Inserta la información en la base de datos
$em->flush ();
/* I want get the values here... */
/* _____________________________ */
$this->InsertarAdminPV ( $user );
return $this->redirect ( $this->generateUrl ( 'md_listapv' ) );
}
谢谢!
答案 0 :(得分:0)
您可以使用$form->getData()
获取数据。但是,您应该使用其中一个表单事件:http://symfony.com/doc/current/components/form/form_events.html
在这种情况下,您应该收听FormEvents::POST_SUBMIT
事件:
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
$formFactory->createBuilder()
// ...
->addEventListener(FormEvents::POST_SUBMIT, function (FormEvent $event) {
$modelData = $event->getData();
// ... edit model data
$event->setData($modelData);
})
;
答案 1 :(得分:0)
你确切地问过你已经得到了什么。
if ($form->isValid ()) {
在您的表单提交并生效时有效。
现在,您可以获得所需的数据:$recuperacion = $form->getData ();
现在,您可以从已有的数组中获取表单输入的值:
$name = $recuperacion['name'];
你还需要什么? :)
如果您想知道INSERT值从表单到数据库,请使用您从表单中获取的数据并使用setter设置它:
$entity = new Entity();
$entity->setName($name);
$em->persist($entity);
$em->flush();