2014-11-06 89 views
-2

如何檢索剛剛驗證的表單的值?但我想操縱控制器中的值。我有這個代碼來檢索信息,但沒有在控制器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

是什麼「而不是在控制器PHP來處理」是什麼意思?你能告訴我們你是如何創建表單並處理請求的? – Koalabaerchen 2014-11-06 16:55:28

+0

1.你已經用'$ recuperacion = $ form-> getData(); ',那麼問題是什麼? 2. $ request-> request-> get($ form-> getName())'沒有幫助? – xurshid29 2014-11-06 17:01:06

+0

您可以發佈getData()的代碼嗎? ? – 2014-11-06 17:12:33

回答

0

你問什麼你已經得到的。

if ($form->isValid()) {在您的表格提交併且有效時起作用。

現在你要與你的數據:$recuperacion = $form->getData();

現在你可以從你的陣列形式的輸入值,你已經有了:

$name = $recuperacion['name']; 

你需要說些什麼? :)

如果你想知道從形式插入值到數據庫,使用數據,您剛剛從形式得到並使用setter方法進行設置:

$entity = new Entity(); 
$entity->setName($name); 
$em->persist($entity); 
$em->flush(); 
0

您可以使用$form->getData()來獲取數據。然而,你應該使用形式事件之一transformator做到這一點: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); 
    }) 
;