Исключение, сгенерированное классом PropertyMappingFactory при попытке первого элемента массива с помощью ветки

у меня есть Motors юридическое лицо, имеющее Один ко многим связь с File юридическое лицо. Загрузка файлов и их привязка осуществляется с помощью VichUploaderBundle.

Моя цель — дать простой обзор Motors объект, отображая только первое изображение этого объекта. Так как я использую веточку для отображения моего объекта, я использовал first Фильтр веточки выглядит следующим образом:

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

Это не было успешным. Я получил ошибку:

Во время рендеринга шаблона возникло исключение («Невозможно определить имя класса. Укажите его явно или укажите объект») в MinnAdsBundle: Motors: index.html.twig в строке 75.

Кажется, что исключение генерируется этим классом PropertyMappingFactory.php.

Я также попробовал это:

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

Но здесь ничего не отображается. Там также нет сгенерированной ошибки !!! Это странно, так как применение фильтров first и ‘length’ возвращает ожидаемое значение (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%}

2

Решение

Я закончил проблему условием if в цикле:

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

Существует проблема с VichUploaderBundle при работе с фильтром first,

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]