J'essaie d'afficher une liste de noms d'amis à savoir: prénom et nom de famille.CakePHP Query question de construction
J'ai une table d'amitiés, qui ressemble à ceci:
id , friend_a , friend_b , created , modified
1 , 1 , 3 , created , modified
1 , 1 , 7 , created , modified
1 , 4 , 1 , created , modified
1 , 2 , 6 , created , modified
où friend_a et friend_b sont des amis.
Puis-je avoir un friendships_controller, avec ceci:
function get_my_friends(){
$this->set('user', $this->passedArgs['user'] );
$conditions = array(
'OR' => array(
array("Friendship.friend_a" => $this->passedArgs['user']),
array("Friendship.friend_b" => $this->passedArgs['user'])
)
);
$this->set('friends', $this->Friendship->find('all',array('conditions'=>$conditions)) );
}
Et dans la vue, je ceci:
<?php foreach($friends as $friend): ?> ...
Et pour chaque ami $, je veux faire écho au nom de cette ami, qui doit être récupéré à partir de la table des utilisateurs.
QUESTION:
Comment puis-je aussi intégrer dans la requête du contrôleur ci-dessus:
SELECT first_name, last_name FROM users AS friend_name WHERE users.id = x
Où x représente la clause ((si l'utilisateur $ == Friendship.friend_a, puis sélectionnez friend_b) autre ((SELECT friend_a)) ")
Toute aide appréciée ...