Je suis nouveau dans le gâteau et je fais face à un problème lié à l'association.Comment configurer a et appartient à plusieurs (HABTM) association entre deux modèles?
J'ai trois tables: users
, messages
et messages_users
et je suis en utilisant la relation HABTM pour cela dans le modèle de message comme:
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")')
)
);
Mon problème est quand un utilisateur se connectera, il doit être en mesure de voir la liste des messages qu'il a reçus avec le nom des expéditeurs dans la table.
Mais pour moi cette relation est que les données de l'exactitude de messages_users,
Mon contrôleur est comme ça,
<?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;
}
} ?>
Alors s'il vous plaît quelqu'un me aider comment obtenir le résultat pour cela.
La question pourrait être mieux formulée comme: "Comment configurer a et appartient à plusieurs (HABTM) association entre deux modèles" –