реализовать.
Есть директория, в ней могут быть файлы и поддиректории.
На каждый файл должна быть запись в базе.(сейчас пока это spatie/laravel-medialibrary, но от него можно отказаться)
При этом структуру директорий мы не знаем в базе.
Задача: нужно чтобы в браузере можно было ходить по директориям(как провайдер в windows например) и если нажали на файл, то именно его запись(модель) открывалась на редактирования, а не файл.
Как это можно сделать?
директории можно получить и файлы просто Storage
а записи в базе через Media.
но как объединить это пока не понятно, без костылей.
А в чем проблема? Не получается по имени файла (с учетом пути до него) из базы вытащить объект?
В том что имена могу быть одинаковые и нужно точно правильное вытащить значение. Пока сделать через дополнительное поле в таблице и там храню path файла
если файлы не большие и хранение допустимо в базе, то можно использовать вот этот адаптер https://github.com/IntegralSoftware/flysystem-pdo-adapter
опять же, как мы узнаем все директории которые лежат в главной например. или поддиректории какой-то определённой директории? мы тут можем только файлы получить
У файлов есть имена, которые в базе храниться должны. По именам получаешь модели.
я про то, что есть ещё директории. и они могут быть пустые, в них может не быть файла. т.е. у нас идёт: Директория - как директория(в windows, linux и т.д., могут быть пустые, с файлами и всё что угодно) Файл - как объект базы.
И? Ты не умеешь с директориями работать? RecursiveDirectoryIterator в руки и вперед. Не понимаю проблему.
Обсуждают сегодня