Задать вопрос

Symfony формы как сделать необязательным файл для загрузки?

В форму передаю обьект извлеченный по id, изначально каждый обьект при создании получает изображение . А вот при редактировании снова требует загрузить ему картинку
->add('img',FileType::class, array(
                'required' => false,
  
            ))


Поле img в сущности доктрины хранит строку

/**
     * @ORM\Column(type="string", nullable=true)
     * @Assert\File(mimeTypes={ "image/jpeg" })
     */
    private $img;


Пытался и в доктрине по умолчанию выставить, и постоянно ловлю ошибки

The form's view data is expected to be an instance of class Symfony\Component\HttpFoundation\File\File, but is a(n) string. You can avoid this error by setting the "data_class" option to null or by adding a view transformer that transforms a(n) string to an instance of Symfony\Component\HttpFoundation\File\File.
  • Вопрос задан
  • 445 просмотров
Подписаться 5 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
В документации все есть how to upload files

When creating a form to edit an already persisted item, the file form type still expects a File instance. As the persisted entity now contains only the relative file path, you first have to concatenate the configured upload path with the stored filename and create a new File class
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы