Я создал простой блог, в котором есть сообщения и комментарии. Я хочу найти все сообщения, в которых есть хотя бы один комментарий, а также все сообщения без комментариев. Есть ли способ сделать это с помощью cakephp? IE, может быть, что-то вроде
$this->Post->find('all', ???);
В итоге я написал свой собственный запрос, в приведенном ниже примере найдены все сообщения как минимум с 1 комментарием
SELECT *
FROM (
select posts.*, count(comments.id) as comment_count
from posts left join comments on posts.id = comments.post_id
group by posts.id
) as T
WHERE comment_count != 0
, но, похоже, есть способ сделать это лучше.
Примечание: a Сообщение hasMany Комментарий и комментарий принадлежит сообщению