Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
Php Twig:如何在symfony 2中获取表单模型对象?_Php_Symfony_Twig - Fatal编程技术网

Php Twig:如何在symfony 2中获取表单模型对象?

Php Twig:如何在symfony 2中获取表单模型对象?,php,symfony,twig,Php,Symfony,Twig,我已经创建了一个新的FormType,它有一个从视图->规范->模型和返回的值转换,所有的工作都很好!但在我的FormType模板中,我需要模型对象,因此我尝试以下方法: {% set media = form.vars.data %} 但这个对象是规范表示,而不是模型。当然,我可以使用norm.model_属性来获取我的模型,但是我认为模型已经在表单对象中的特定字段中了?如何通过表单对象直接访问模型?或者我应该自己将其传递到模板中 $builder->addEventListener(

我已经创建了一个新的FormType,它有一个从视图->规范->模型和返回的值转换,所有的工作都很好!但在我的FormType模板中,我需要模型对象,因此我尝试以下方法:

{% set media = form.vars.data %}
但这个对象是规范表示,而不是模型。当然,我可以使用norm.model_属性来获取我的模型,但是我认为模型已经在表单对象中的特定字段中了?如何通过表单对象直接访问模型?或者我应该自己将其传递到模板中

$builder->addEventListener(FormEvents::PRE_SET_DATA, function (FormEvent $event) {
    $media = $event->getData();
    // "$media" is already my model object, how 
    // can i pass this object to the twig template ?
});
格里兹和泰克斯,
天空…

我甚至不知道我是否理解你的问题,你想做什么?您正在尝试呈现表单字段还是什么?是的,我创建了一个新的表单类型,并尝试使用自定义模板呈现它。问题是,如何直接得到模型对象?注意,我有一个模型和一个视图转换器:视图->标准->模型->标准->视图。。。但是如果我试图通过{%set media=form.vars.data%}获取数据,我只会得到norm对象。。。所以我想直接创建模型对象?想知道为什么要在视图中添加模型对象。如果您有任何类型的逻辑,请不要将其放入视图/模板中。您是否考虑过创建表单类型扩展?我知道,这有点混乱,但我的表单类型有两个元素:文件和复选框。。。一个文件类型需要一个文件对象,但我的模型中没有这个,所以我必须输入null,顺便说一句,填充一个文件类型是没有意义的。。。