kann mir jemand sagen, wie man verbundenes Ergebnis aus mehreren Tabellen in CakePHP (mit CakePHP MVC-Architektur) abrufen. Zum Beispiel habe ich drei Tabellen zu verbinden (tbl_topics, tbl_items, tbl_votes. Ihre Beziehung ist wie folgt definiert: ein Thema kann viele Elemente und ein Element kann viele Stimmen haben. Jetzt möchte ich eine Liste von Themen mit der Anzahl von abrufen . alle Stimmen auf allen Einzelteilen für jedes Thema für diese SQL-Abfrage wird unten geschrieben:Wie schreibe ich eine Join-Abfrage über mehrere Tabellen in CakePHP?
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);
Mein Problem ist, ich es mit tun kann leicht $this-><Model Name>->query
Funktion, aber das SQL-Code erfordert in der Steuerung geschrieben werden die I Ich versuche, eine andere Möglichkeit zu finden (find()
).
Ich verstehe es nicht, wie funktioniert HABTM hier gelten? –
Versuchen Klasse Artikel mit erstreckt AppModel { var $ belongsTo = array ('Topic') } – drikoda
Ist das nicht für zwei Tabellen HABTM, wo die Frage nach fragt drei Beitritt? – SeanDowney