Ich versuche ein einfaches Messaging-System für meine Benutzer zu implementieren.curephp messaging System Schema/Modell/Controller Best Practice?
Ich bin kein Experte, also jede Hilfe wird geschätzt!
Hier ist, was ich bis jetzt bekommen habe, bitte machen Sie irgendwelche Vorschläge !! (cake1.3)
CREATE TABLE IF NOT EXISTS `app_messages` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`from_user_id` int(8) unsigned DEFAULT NULL,
`title` varchar(255) DEFAULT NULL,
`body` text,
`created` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE IF NOT EXISTS `app_messages_users` (
`id` int(8) unsigned NOT NULL,
`message_id` int(8) unsigned NOT NULL,
`to_user_id` int(8) unsigned NOT NULL,
`read` tinyint(1) DEFAULT '0',
`replied` tinyint(1) NOT NULL DEFAULT '0',
`trash` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
);
Message.php
var $hasAndBelongsToMany = array(
'User' =>
array(
'className' => 'User',
'joinTable' => 'messages_users',
'foreignKey' => 'message_id',
'associationForeignKey' => 'to_user_id',
'unique' => true
)
);
User.php
var $hasMany = array(
'Message' => array(
'className' => 'message',
'foreignKey' => 'from_user_id',
'dependent' => true
)
So, jetzt ist meine Frage, mache ich das richtig?
Wie gehe ich herum, indem ich eine SEND MESSAGE-Funktion erstelle, um korrekte Werte in beide Tabellen einzufügen? Ich bin ein totaler Noob in Bezug auf HABTM Beziehungen, aber ich versuche zu lernen. Ich habe mehrere Stunden damit verbracht, im Internet darüber zu lesen, aber ich muss immer noch fragen, ob ich auf dem richtigen Weg bin.
Danke für Ihre Zeit !! -Tom
Sie einen Blick auf meine „Konversationen“ SQL-Tabelle nehmen @ https://groups.google.com/d/msg/cake- php/BlOQsyuFnEc/2YXduSde0mwJ. Dies reduziert die Redundanz, indem sie über Konversation gruppiert werden. verwendet dann 3 Tabellen. – mark
Hatte einen Blick, und eigentlich habe ich mir diese Diskussion schon mal angeschaut, wenn ich ein paar Anleitungen/beste Ansätze herumexperimentiere;) Wie gehst du in den Modellen/Controllern vor um die Nachrichten beim Senden zu speichern und so weiter? – Tom