Файл-объект Symfony2 VichUploader

Пытаюсь понять, как использовать VichUploader Bundle для symfony2 для загрузки в существующую таблицу. У меня еще нет объекта для этой таблицы, просто интересно, как вы можете заставить мою ситуацию работать с Symfony2 и VichUploaderBundle.

Я прочитал документы и не могу сопоставить какой-либо код / ​​помощь с моей ситуацией.

Таблица, в которой хранятся файлы, называется secure_file, а схема имеет следующий вид:

  • id
  • ID пользователя
  • имя файла
  • создано в
  • updated_at

Сущность, с которой я хочу сопоставить это, чтобы загрузить файл и сохранить его в базе данных, называется консультантом. Как я могу загрузить файл (PDF, только изображения) и поместить это хранилище в другую таблицу при загрузке, я новичок в Symfony, поэтому, пожалуйста, выкладывайте свои ответы столько, сколько позволяет время. Поле, которое я пытаюсь отобразить в таблице консультанта, называется image_id, и мне также нужно передать дополнительные сведения в объект secure_file, чтобы добавить файл в таблицу secure_file.

В качестве альтернативы, если кто-то знает более простой способ сделать это, пожалуйста, укажите мне на него.


person Steve Goodwin    schedule 29.07.2015    source источник


Ответы (1)


Похоже, что между консультантами и защищенными файлами у вас есть отношения «один-к-одному» (то же самое и с «один-ко-многим»). В этом случае вам просто нужно создать защищенный файловый объект можно загрузить, как описано в VichUploaderBundle документации. После того, как ваша сущность настроена, просто создайте форму для сущности-консультанта, которая будет встраивать один или несколько защищенных файлов (используя тип поля объекта или коллекция < / а>)

person K-Phoen    schedule 05.08.2015
comment
Спасибо за ваш вклад, K-Phoen, у меня есть решение, работающее без отображения. Я попытался добавить в отображение, но мне это не удается. Ваш комментарий предполагает, что я должен выполнять загрузку файла через объект Secure_file, а не через объект Consults, как я сейчас делаю. Я получаю сообщение об ошибке: Ошибка: аргумент 1, переданный в AppBundle \ Entity \ Consult :: setImage (), должен быть экземпляром AppBundle \ Entity \ Image, заданная строка ... Я знаю, что это потому, что он передает строку а не объект изображения, означает ли это, что я должен выполнять это с объектом secure_file? - person Steve Goodwin; 19.08.2015