2017-11-06 7 views
1

Ich arbeite an einer Anwendung für unsere Bibliothek.Laravel 5.5: Beziehung mit mehreren verschiedenen Untermodellen

Wir haben verschiedene Dokumenttypen (Zeitschriften, Bücher, Berichte, Zeitungsausschnitte usw.

Ich begann ein Modell für die Gazetten zu schaffen, mit Feldern wie Name, Jahr, Anzahl, Art der Regelung/Rechts, Bezug Bei der Arbeit mit Datei-Uploads habe ich die Beziehung mit der Datei hergestellt

Also die Idee ist eine Resource Klasse für alle Dokumente zu haben, und ein Modell für jeden Dokumenttyp, da die Felder unterschiedlich sind. Zeitungsausschnitte hätten body, newspaper, date and page als Felder.Bücher hätten eine ganze Menge mehr, wie title, subtitle, author, publisher, genre, ISBN, hard/soft.

Ich sollte in der Lage sein, Dateien entweder als digitale Version des Dokuments oder als "relevant" zu verlinken.

Ich denke an eine Viele-zu-viele-Beziehung zwischen dem Modell für Dateien und Ressourcen, aber wie kann ich noch die verschiedenen Felder jedes Untermodells integrieren. Eine, bei der ich nicht für jeden Dokumententyp einzeln eine Beziehung herstellen muss (gazette_file und book_file und report_file), insbesondere da sie austauschbar sein sollen.

Welche Modell/Beziehungsstruktur verwende ich?

Es gibt eine ähnlich ähnliche Frage Laravel 5 - defining relationships, aber der Fokus ist anders. Die angegebene Antwort berücksichtigt nicht die unterschiedlichen Felder.

+0

Dies klingt wie grundlegende OOP. Erstellen Sie eine Hauptdokumentklasse und erben Sie dann diese übergeordnete Klasse in jedem bestimmten Dokumenttypobjekt. Dann mache ein Hauptressourcenobjekt. Geben Sie dem übergeordneten Dokumentobjekt eine Beziehung mit dem Ressourcenobjekt. –

+1

Aus dem prozeduralen Hintergrund kommend, werde ich schnell in OOP schauen, bevor ich hier fortfahre. :) – Stretsh

Antwort