У меня есть объект Motors
, имеющий отношение OneToMany к объекту File
. Загрузка файлов и их связывание выполняется с помощью VichUploaderBundle.Исключение, сгенерированное классом PropertyMappingFactory с попыткой первого элемента массива с веточкой
Моя цель дает простой обзор объекта 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
и «Длина» возвращает ожидаемое значение (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%}
Возможно, у вас есть PersistentCollection здесь, это не инициализировано или нет. Попробуйте '{{vich_uploader_asset (motors.files.first, 'motors_files')}}' – Ziumin
Все еще имеет то же исключение: ** Исключено («Невозможно определить имя класса или указать его явно или дать объект») в MinnAdsBundle: Motors: index.html.twig в строке 84. ** –
пакет не может получить имя класса объекта, возвращенного 'motors.files | first'. Это проблема!!! @Ziumin –