2010-05-13 6 views
3

J'utilise CakePHP framework pour créer une application web. La forme la plus simple de mon problème est la suivante:CakePHP a de nombreuses relations avec plusieurs colonnes

J'ai une table d'utilisateurs et une table de messages avec les modèles correspondants. Les messages sont envoyés d'un utilisateur à un autre utilisateur. Ainsi, la table des messages contient les colonnes from_id et to_id, toutes deux faisant référence à l'identifiant des utilisateurs. Je suis capable de lier le modèle Message au modèle User en utilisant $ belongsTo mais je suis incapable de lier le modèle User avec le modèle Message (en sens inverse) en utilisant $ hasMany de la même manière.

var $hasMany = array(
    'From' => array(
    'className' => 'Message', 
    'foreignKey' => 'from_id', 
    'dependent' => false, 
    'conditions' => '', 
    'fields' => '', 
    'order' => '', 
    'limit' => '', 
    'offset' => '', 
    'exclusive' => '', 
    'finderQuery' => '', 
    'counterQuery' => '' 
), 
    'To' => array(
    'className' => 'Message', 
    'foreignKey' => 'to_id', 
    'dependent' => false, 
    'conditions' => '', 
    'fields' => '', 
    'order' => '', 
    'limit' => '', 
    'offset' => '', 
    'exclusive' => '', 
    'finderQuery' => '', 
    'counterQuery' => '' 
) 
); 

Que pouvez-vous faire ici? Des idées? Merci pour toute aide.

+0

votre modèle d'utilisateur ne fonctionne pas? Quelle est la sortie si vous déboguez $ this-> User-> find ('all') '? – Young

Répondre

2

Vous pouvez lier les deux modèles avec 'hasMany' ou 'belongsTo' plus d'une fois avec des clés étrangères différentes en même temps. Puisque je ne trouve aucun exemple du livre de cuisine, j'ai testé cela avec un petit morceau de code et cela a fonctionné comme prévu.

Questions connexes