2017-01-31 4 views
4

Ich bin gerade dabei, eine Anwendung zu erstellen, die es Benutzern ermöglicht, sich an einem Projekt anzumelden und zusammenzuarbeiten. Ich habe Laratrust benutzt, um Rollen und Berechtigungen zu integrieren. Was ich gerne tun könnte, ist, Benutzern zu erlauben, eine Ordnerstruktur zu erstellen, wie sie es wünschen. Wie würde ich dies speichern, da jeder Benutzer seine eigene Ordnerstruktur haben könnte.Speichern eines Ordners Hierarchy Laravel

+0

Können Sie ein wenig Kontext hinzufügen? Worum geht es in diesem Ordner? Ist es in Form von UI sortierbaren Sachen im Browser? – GiamPy

+0

Sagen Sie zum Beispiel Sie in Google Drive angemeldet. Sie haben die Möglichkeit, einen Ordner zu erstellen. Und gehen Sie hinein und erstellen Sie weitere Ordner usw. Ein Benutzer ist mit einem Projekt verbunden. Wenn ein Benutzer ein Administrator ist, kann er Ordner innerhalb eines Projekts erstellen, so dass er alles wie: Zeichnungen, Ingenieure usw. enthalten kann. @GiamPy –

+0

Sind ** alle ** die Ordner für jeden Benutzer eindeutig oder wird auch etwas geteilt? – GiamPy

Antwort

2

Ich gebe meine 2 Cent.

würde ich eine neue Tabelle in der der folgenden Spalten mit einigen Daten Beispiele zusammengesetzt Datenbank erstellen:

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

Auf diese Weise wirst du einen Knoten-basierten Baum bauen, und Sie kann mit dieser Struktur leicht einen Baum bauen.

Beachten Sie, dass, wenn die Parent-ID null ist, bedeutet, dass es kein übergeordnetes Element hat, oder mit anderen Worten, es ist einer der Basisordner des Projekts.

Sie können auch eine Sortierspalte in der Tabelle hinzufügen, wenn Sie Sortierungen für das Projekt/die Benutzer freigeben möchten!

Sie können jetzt Dateien zu jedem einzelnen Ordner ohne irgendwelche Probleme zuordnen.

+0

Vielen Dank! @GiamPy! –

+0

Gern geschehen! @tomBannister! – GiamPy

Verwandte Themen