Bonjour,

j'ai une requête assez complexe ( pour moi ) à effectuer et je ne m'en sort pas après de multiples essais.

J'expose le problème :

J'ai une entité User possédant une liaison ManyToMany réfléctive sur elle même.
Un User à donc un attribut $myFriends qui est une ArrayCollection de User.

J'ai également une entité Rencontre qui possède un attribut $idCapitaine, qui est le id de l'objet User qui à créé cette rencontre. Ce n'est pas une relation entre Rencontre et User. C'est moi qui dans le constructeur de Rencontre rempli cette attribut $idCapitaine.

J'ai un User A connecté à mon site, je voudrais que mon site affiche l'ensemble des objets rencontres créé par un ami de mon User A connecté.

j'avais fait cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
$query = $em->createQuery('SELECT r FROM Rencontre r WHERE r.idCapitaine MEMBER OF (SELECT friend_user_id FROM friends WHERE user_id = :id)');
	$query->setParameters('id', $id );
Mais ce n'est pas la bonne façon de faire puisque je vais questionner les tables relationnel créé par doctrine au lieu de manipuler les objets. ( de toute facon ça ne fonctionne pas).

Voila si quelqu'un avait une piste ce serait sympatoche

Merci

PS: Si votre solution nécessite que je crée une relation ManyToOne entre Rencontre et User, pour que Rencontre possède un attribut $Capitaine étant un User, cela me convient aussi ! je ne suis pas bloqué sur ma méthode.