Hey,
ich habe vor gut einem Monat das Projekt, was ich bereits gut 3 Monate entwickelt habe, nochmal von 0 begonnen. Nicht aus Spaß an der Freude - sondern weil ich vorher zu faul war mir die Laravel-Möglichkeiten anzusehen und im Laufe der Zeit auf einem anderem "Laravel-Level" war.
Nun habe ich eine Frage, kein Problem in dem Sinne:
Ich habe verschiedene Arten von Objekten "TimelineEvent", "Comment", "Vote", ... und diese sollen alle Kommentare und "Likes" haben können. Laravel macht es mir ja da mit Eloquent sehr einfach das zu handeln - nur ist die Frage: wie baue ich das am sinnvollsten auf?
Bei den Kommentaren dachte ich mir nun, ich erstelle mir ein "Comment"-Model und für jedes der "Objektarten" noch ein zusätzliches Model: "CommentToComment", "CommentToVote", "CommentToTimelineEvent", "CommentTo[...]" welche von einer abstrakten Klasse "CommentToObject" erben, welche zwei abstrakte Methoden mitliefert: "getObject()" und "getComment()". Hinter "getObject()" verbirgt sich dann z.B. das "TimelineEvent" und hinter "getComment()" eben der Kommentar - dafür würde ich eine "Beziehungstabelle", z.B. "comment_to_timeline_event" erstellen mit den Spalten: "timeline_event_id" und "comment_id". Nun hätte ich aber einfach mal 5 Models, was mich etwas stutzig macht, ob das nicht auch schöner ginge?
Ich bin gespannt auf eure Lösungsvorschläge!
Liebe Grüße,
Vincent
ich habe vor gut einem Monat das Projekt, was ich bereits gut 3 Monate entwickelt habe, nochmal von 0 begonnen. Nicht aus Spaß an der Freude - sondern weil ich vorher zu faul war mir die Laravel-Möglichkeiten anzusehen und im Laufe der Zeit auf einem anderem "Laravel-Level" war.
Nun habe ich eine Frage, kein Problem in dem Sinne:
Ich habe verschiedene Arten von Objekten "TimelineEvent", "Comment", "Vote", ... und diese sollen alle Kommentare und "Likes" haben können. Laravel macht es mir ja da mit Eloquent sehr einfach das zu handeln - nur ist die Frage: wie baue ich das am sinnvollsten auf?
Bei den Kommentaren dachte ich mir nun, ich erstelle mir ein "Comment"-Model und für jedes der "Objektarten" noch ein zusätzliches Model: "CommentToComment", "CommentToVote", "CommentToTimelineEvent", "CommentTo[...]" welche von einer abstrakten Klasse "CommentToObject" erben, welche zwei abstrakte Methoden mitliefert: "getObject()" und "getComment()". Hinter "getObject()" verbirgt sich dann z.B. das "TimelineEvent" und hinter "getComment()" eben der Kommentar - dafür würde ich eine "Beziehungstabelle", z.B. "comment_to_timeline_event" erstellen mit den Spalten: "timeline_event_id" und "comment_id". Nun hätte ich aber einfach mal 5 Models, was mich etwas stutzig macht, ob das nicht auch schöner ginge?
Ich bin gespannt auf eure Lösungsvorschläge!
Liebe Grüße,
Vincent
"Das müsste jetzt funktionieren..."
---
Mit freundlichen Grüßen,
Vincent Petritz
---
Mit freundlichen Grüßen,
Vincent Petritz