Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Forms 访问Symfony2控制器中的未映射字段_Forms_Symfony - Fatal编程技术网

Forms 访问Symfony2控制器中的未映射字段

Forms 访问Symfony2控制器中的未映射字段,forms,symfony,Forms,Symfony,我正在创建带有未映射字段的表单,如中所述 但是,当我在控制器或类似设备中想要访问它时,当前我正在使用POST请求阵列,并从那里出来,如下所示: $postData = $this->getRequest()->request->get('my_form_name'); $unmappedField = $postData['unmapped_field'] 我只是忍不住想这不是最好的办法,而且我在官方文件上找不到任何东西 有比这更好的方法吗?您可以访问表单中的未映射字段 $u

我正在创建带有未映射字段的表单,如中所述

但是,当我在控制器或类似设备中想要访问它时,当前我正在使用POST请求阵列,并从那里出来,如下所示:

$postData = $this->getRequest()->request->get('my_form_name');
$unmappedField = $postData['unmapped_field']
我只是忍不住想这不是最好的办法,而且我在官方文件上找不到任何东西


有比这更好的方法吗?

您可以访问表单中的未映射字段

$unmappedField = $form['unmapped_field']->getData();

取自symfony文件sf 2.5(也使用sf 2.3进行测试):

表格类型:

use Symfony\Component\Form\FormBuilderInterface;

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('task')
        ->add('dueDate', null, array('mapped' => false))


  ->add('save', 'submit');
}
控制器:

$form->get('dueDate')->getData();
$form->get('dueDate')->setData(new \DateTime());

(向下滚动一点)

在请求对象上调用get('unmapped_field')怎么样?此未映射字段是否包含在实体对象中,或者您的表单是否绑定到平面数组?是的,是的,但是在我创建动态未映射字段的场景中如何动态获取如果您有一个嵌套类型的表单,它类似于
$unmappedField=$form['subtype\u name']['unmapped\u field']->getData()
我不知道
getData
有一个
setData
补码。正是我需要的,谢谢!