2017-01-31 7 views
4

Я в настоящее время находится в процессе создания приложения, которое позволяет пользователям входить в систему и сотрудничать в проекте. Я использовал laratrust, чтобы я мог интегрировать роли и разрешения. То, что я хотел бы сделать, это разрешить пользователям создавать структуру папок, как они того пожелают. Как я могу хранить это, так как каждый пользователь может иметь собственную структуру папок.Хранение папки hierachy laravel

+0

Можете ли вы добавить немного контекста? О чем эта папка? Является ли он в виде пользовательского интерфейса в браузере? – GiamPy

+0

Скажите, например, что вы вошли в Google Drive. У вас есть желание создать папку. И зайдите внутрь и создайте больше папок и т. Д. Пользователь подключен к проекту. Если пользователь является администратором, он может создавать папки внутри проектов, поэтому он может содержать все, что угодно: рисунки, инженеры и т. Д. @GiamPy –

+0

** Все ли ** уникальные папки для каждого пользователя, или что-то также доступно? – GiamPy

ответ

2

Я дам свои 2 цента.

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

id | project_id | parent_id | name 1 | 1 | null | Main Folder 2 | 1 | 1 | Child Folder 3 | 1 | 2 | Child of Child Folder 4 | 2 | null | Main Folder Hehe 5 | 2 | 4 | Child Folder Hehe

Таким образом, вы собираетесь построить дерево на узел основе, и вы может легко построить дерево, используя такую ​​структуру.

Обратите внимание, что если parent_id имеет значение NULL, это означает, что у него нет родителя, или, другими словами, это одна из базовых папок проекта.

Вы также можете добавить столбец сортировки в таблицу, если хотите разделить сортировки по проекту/пользователям!

Теперь вы сможете связать файлы с каждой папкой без каких-либо проблем.

+0

Большое вам спасибо! @GiamPy! –

+0

Добро пожаловать! @tomBannister! – GiamPy

Смежные вопросы