我有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%}
答案 0 :(得分:1)
我通过循环中的if条件结束了问题:
{%for f in motors.files%}
{%if loop.index == 1%}
src="{{ vich_uploader_asset(f, 'motors_files')}}"
{% endif %}
{%endfor%}
处理过滤器VichUploaderBundle
时,first
存在问题。