bonjour,

j'ai un souci avec la recuperation des messages, quand je met deux clés étrangères et je recupere les messages on recupere seulement les info de l'un d'eux :( , voilà un extrait du code :

mon model :

<?php
class Message extends AppModel{
    public $belongsTo = array(
        'User' => array(
            'foreignKey' => 'sender_id'
        ),
        'User' => array(
            'foreignKey' => 'reciever_id'
        ),
    );
}

mon controleur :

<?php
class MessagesController extends AppController {
    public function index($value='') {
        debug($this->Message->Find('all'));die();
    }
}

et le resultat :

est-ce que j'ai mis une erreur ou c'est mal ecrit ?

merci pour lecture :/

1 réponse


Marwane Chaoui
Auteur
Réponse acceptée

re-bonjour !

pardon j'ai resolu mon probleme, le principe est de donner au clés etrangeres un alias comme ceci:

<?php
class Message extends AppModel{
    public $belongsTo = array(
        'Sender' => array(
            'className' => 'User',
            'foreignKey' => 'sender_id'
        ),
        'Receiver' => array(
            'className' => 'User',
            'foreignKey' => 'reciever_id'
        ),
    );
}

et voila le resultat :

en tous cas merci :)