获取文本框值Symfony2表单

时间:2014-04-04 09:00:39

标签: php forms symfony textbox

我的项目中有一个非常简单的表单。 它是一个带有标签的文本框,就是它。

但是当我尝试从这些文本框中获取数据时,它会返回NULL

get($id)get($id)->getData()都返回NULL

它是一个没有附加任何类的表单,只是为了保持简单。 此表单的目的是调整数字。

我做错了什么?或者有更好的方法来解决这个问题吗?

    public function makenAction()
    {
    $em = $this->getDoctrine()->getManager();
    $orderregels = $this->getRequest()->getSession()->get('orderregelz')->getOrderregels();
    $overzicht = $this->createFormBuilder();

    foreach($orderregels as $value)
    {
        /*
        * getting some values from database
        */
        $overzicht->add($temp->getOrderregelD(),"text",array('label'=>$tmpcompleet));
    }
    $overzicht->add('Verzenden','submit');

    $request = $this->getRequest();
    if ($request->getMethod() == 'POST')
    {
        $data = array();
        foreach ($orderregels as $value)
        {
            $data[] = $overzicht->get($value);
        }
    }

2 个答案:

答案 0 :(得分:0)

这是从请求中获取数据的方式

获取

$value = $request->query->get("input_name");

发表

$value = $request->request->get("input_name");

否则你可以这样做:

$formData = $overzicht->getData();

然后访问以下值:

$foo = $formData['foo'];

要直接访问指定表单的所有值,请执行以下操作:

$formData = $this->getRequest()->request->get('form');

答案 1 :(得分:0)

毕竟,您应该将请求绑定到表单。

$editForm = $this->createEditForm($entity);
$editForm->handleRequest($request);
if ($editForm->isValid()) {
    var_dump($editForm->getData()); die;
}

doc