Comment puis-je écrire une requête de jointure entre plusieurs tables dans CakePHP?

quelqu'un peut me dire, comment faire pour récupérer rejoint le résultat de plusieurs tables dans cakePHP ( en utilisant cakePHP architecture mvc). Par exemple, j'ai trois tables de jointure (tbl_topics, tbl_items, tbl_votes. Leur relation est définie comme suit: un sujet peut avoir de nombreux articles et un article peut avoir beaucoup de votes. Maintenant, je veux récupérer une liste de sujets, avec le décompte de toutes les voix de tous les éléments pour chaque sujet. La requête SQL pour ce qui est écrit ci-dessous:

SELECT Topic.*, count(Vote.id) voteCount 
FROM 
tbl_topics AS Topic 
LEFT OUTER JOIN tbl_items AS Item 
ON (Topic.id = Item.topic_id)
LEFT OUTER JOIN tbl_votes AS Vote
ON (Item.id = Vote.item_id); 

Mon problème est que je peux le faire facilement en utilisant $this-><Model Name>->query fonction, mais cela nécessite du code sql pour être écrit dans le contrôleur que je ne veux pas. J'essaie de trouver une autre façon de le faire (comme find()).

OriginalL'auteur |