Ich bin neu zu Kuchen und ich habe ein Problem mit der Assoziation konfrontiert.Wie Setup hat und gehört zu vielen (HABTM) Zuordnung zwischen zwei Modellen?
Ich habe drei Tabellen: users
, messages
und messages_users
und ich bin mit HABTM Beziehung für diesen in Nachrichtenmodell als:
var $hasAndBelongsToMany = array(
'Users' => array (
'className' => 'User',
'join_table' => 'messages_users',
'foreignKey' => 'message_id',
'associationForeignKey' => 'reciever_id',
'conditions'=> array('MessagesUser.reciever_id' => '$this->Session->read("Id")')
)
);
Mein Problem ist, wenn ein Benutzer anmelden, er in der Lage sein muß, um zu sehen, die Liste der Nachrichten, die er mit dem Namen des Absenders in der Tabelle bekommen hat.
Aber für mich diese Beziehung nur für diese messages_users Daten,
Mein Controller ist wie diese,
<?php
class MessagesController extends AppController {
var $name = 'Messages';
//var $scaffold;
function home($id = null)
{
//$this->Message->id=$id;
//$messages_users = $this->Message->MessagesUser->find('all',array('conditions'=>array('MessagesUser.reciever_id'=>$this->Session->read("Id"))));
$messages_users = $this->Message->MessagesUser->find('all',array('fields'=>array('id','name')));
// $this->set(compact('tags'));
print_r($messages_users);
$this->set('messages_users',$messages_users);
$i=0;
foreach ($messages_users as $messages_user):
$new = $messages_users[$i]['MessagesUser']['sender_id'];
$i++;
print_r($new);
$messages = $this->Message->Users->find('all',array('conditions'=>array('Users.id'=>$new)));
// print_r($messages);
$this->set('messages',$messages);
endforeach;
}
} ?>
So helfen Sie mir bitte jemand, wie man das Ergebnis zu holen.
Die Frage könnte besser formuliert werden als: "Wie Setup hat und gehört zu vielen (HABTM) Assoziation zwischen zwei Modellen" –