может кто-нибудь сказать мне, как получить объединенный результат из нескольких таблиц в cakePHP (с использованием mcc-архитектуры cakePHP). Например, у меня есть три таблицы для присоединения (tbl_topics, tbl_items, tbl_votes. Их взаимосвязь определяется следующим образом: в теме может быть много элементов, а элемент может иметь много голосов. Теперь я хочу получить список тем с подсчетом . все голоса по всем пунктам, по каждой теме SQL-запрос для этого написано ниже:Как написать запрос соединения для нескольких таблиц в 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);
Моя проблема в том, что я могу сделать это легко с помощью $this-><Model Name>->query
функции, но для этого требуется код SQL, чтобы записать в контроллер, который я (find()
)
Я не понимаю, как это HABTM применяется здесь? –
Попробуйте использовать класс Предмет расширяет AppModel { вар $ belongsTo = массив («Тема») } – drikoda
Не HABTM для двух таблиц, в которых идет речь в вопросе о присоединении трех? – SeanDowney