Hallo PHP-Freunde,
der Titel mag merkwürdig klingen, ich nenne zu Anfang mal direkt ein Beispiel.Vielen Facebook-Nutzern wird dies sehr bekannt vorkommen:
Ich möchte allgemein Aktivitäten (erstellen,löschen,bearbeiten) in einem Forum speichern, und zwar für Themen und Beiträge. Das sollte so aussehen:
Themen und Beiträge sind als Objekte realisiert
Wie also am besten diese drei Aktivitäten für beide Objekte speichern?
Meine Idee ist ein neues Objekt Activity
Die MySql-Tabelle sähe dann entsprechend dem Objekt so aus (ich bleibe bei dem Beispiel von oben):
So kann ich jetzt aber z.B. gar keine Foreign-Keys benutzen, etc. Wäre evtl. doch eine Tabelle für jedes Objekt (Board_Topic, Board_Post) sinnvoll? Diese müssten dann natürlich bei der Ausgabe wieder wild durcheinander gewürfelt werden, zudem wäre es leichter diese Struktur zu erweitern (z.B. Bilder o.ä.).
Vielleicht habt ihr ja noch eine ganz andere Idee?!
Ich bin wie immer für jede Idee und jeden Tipp dankbar =).
Gruß,
Jan
der Titel mag merkwürdig klingen, ich nenne zu Anfang mal direkt ein Beispiel.Vielen Facebook-Nutzern wird dies sehr bekannt vorkommen:
Hans Peter wrote "Hey, wie gehts dir?" on Tom Peter's wall.
Hans Peter hat einen Beitrag zum Thema "PHP Fehler" geschrieben.
PHP-Code:
class Board_Topic
{
public $Id;
public $AuthorId;
public $Title;
....
}
class Board_Post
{
public $Id;
....
}
Meine Idee ist ein neues Objekt Activity
PHP-Code:
class Board_Activity
{
public $Id;
public $ObjectId; //Referenz auf ...
public $ObjectType; // ... Post oder Topic?
public $ActivityType; // erstellen / bearbeiten / löschen
....
}
PHP-Code:
+----+----------+-------------+----------+--------------+
| Id | ObjectId | ObjectType | AuthorId | ActivityType |
+----+----------+-------------+----------+--------------+
| 1 | 15 | Board_Post | 26 | created |
+----+----------+-------------+----------+--------------+
Vielleicht habt ihr ja noch eine ganz andere Idee?!
Ich bin wie immer für jede Idee und jeden Tipp dankbar =).
Gruß,
Jan
Kommentar