2

我有一个与该Motors实体具有OneToMany关系的File实体。上传文件和链接它们是使用 VichUploaderBundle 完成的。

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

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

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

在第 75 行的 MinnAdsBundle:Motors:index.html.twig 中的模板呈现期间引发了异常(“无法确定类名。要么明确指定它,要么给出一个对象”)

似乎该类PropertyMappingFactory.php生成了异常。

我也试过这个:

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

但是,没有任何渲染。也没有产生错误!!!这很奇怪,因为应用过滤器first和“长度”返回预期值(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%}
4

1 回答 1

2

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

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

VichUploaderBundle处理过滤器时出现问题first

于 2015-01-01T04:38:40.787 回答