Verschiedene Objekte "liken" und kommentieren

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Verschiedene Objekte "liken" und kommentieren

    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
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz
  • Einer meiner Entwicklerkollegen im Betrieb hat mir folgende Vorgehensweise empfohlen (siehe Anhang).
    Funktioniert grandios! Kann ich nur empfehlen!

    Danke dennoch für deinen Lösungsansatz, @freeek! :)
    Bilder
    • 11020381_862955317100979_893864832_n.jpg

      26,67 kB, 960×325, 304 mal angesehen
    "Das müsste jetzt funktionieren..."

    ---
    Mit freundlichen Grüßen,
    Vincent Petritz