PropertyMappingFactory类生成的异常,尝试使用twig的数组的第一个元素

时间:2014-12-29 17:59:37

标签: php arrays symfony twig vichuploaderbundle

我有Motors实体与File实体有 OneToMany 关系。使用VichUploaderBundle上传文件并链接它们。

我的目标是通过仅显示该对象的第一个图像来简单概述Motors对象。因为,我正在使用树枝来显示我的对象,所以我使用了树枝的first过滤器,如下所示:

{{ vich_uploader_asset(motors.files|first, 'motors_files') }}

这不成功。我得到的错误是:

在渲染模板期间抛出异常("无法确定类名。可以在MinnAdsBundle:Motors:index.html中明确指定或给出对象")。第75行的树枝

似乎异常是由该类PropertyMappingFactory.php生成的。

我也试过这个:

{%for f in motors.files|first %}
    {{ vich_uploader_asset(f, 'motors_files') }}<br>
{%endfor%}

但是,没有任何渲染。也没有生成错误!!! 这很奇怪,因为应用过滤器first和&#39;长度&#39;返回预期值(1或0):

{{motors.files|first|length}} {#always return the expected value#}

我做了更多检查,如下所示,但没有成功!那么,你能帮忙解决这个问题吗?

谢谢!

{# the length of the array#}
{{motors.files|length}} {# tells me that there is 3 files! (worked perfectly)#}

{# Retrieving all the links of these file (worked perfectly)#}
{%for f in motors.files%}
    {{ vich_uploader_asset(f, 'motors_files') }}<br>
{%endfor%}

1 个答案:

答案 0 :(得分:1)

我通过循环中的if条件结束了问题:

{%for f in motors.files%}
    {%if loop.index == 1%}
        src="{{ vich_uploader_asset(f, 'motors_files')}}"
   {% endif %}
{%endfor%}

处理过滤器VichUploaderBundle时,first存在问题。