Загрузить файл в поддиректорию с идентификатором модели - PullRequest
0 голосов
/ 08 июля 2019

Я создаю фитнес-упражнения в Nova и использую собственные поля File и Image для обработки загрузок.Однако я бы хотел, чтобы файлы сохранялись в подкаталоге с идентификатором модели:

- public
  - media
    - {id}
      - video.mp4
      - image.jpeg

. Это прекрасно работает при обновлении существующей модели (идентификатор уже доступен), но файлы загружаются вбазовый путь загрузки public/media для новых упражнений.Это означает, что идентификатор модели еще не доступен во время загрузки файла.

Возможно ли достичь этого любым другим способом?Как бы вы это сделали, например:

  • Можете ли вы как-нибудь поставить в очередь закачки (что было бы неплохо для ускорения работы и для администраторов)?Поставленные в очередь задачи должны иметь возможность доступа к идентификатору модели, верно?Не удалось найти никаких документов об очередях в Nova.
  • прослушивание события created, получение идентификатора, создание каталога, перемещение файлов и обновление полей базы данных?Звучит выполнимо, но довольно сложная работа.
  • написать собственные store процедуры для медиа-файлов и обработать их там?Будет ли он работать после создания модели или до ее сохранения в базе данных, чтобы идентификатор не был доступен?
  • просто замените идентификатор какой-то уникальной строкой, которую можно сгенерировать заранее и вместо этого добавить в путь?Как бы вы сохранили его, чтобы он был доступен для последующего редактирования?Получить его каждый раз из пути к сохраненному файлу мультимедиа или сохранить как отдельное поле в базе данных?

Я новичок в Laravel и Nova и пока не знаю лучших практик.Буду признателен за любую помощь / совет по этому вопросу.

...