В сыром SQL запрос будет выглядеть примерно так:
SELECT Post.*
FROM Post LEFT JOIN Comment ON Post.id = Comment.post_id
GROUP BY Comment.post_id
HAVING COUNT(Comment.id) < 2
Большинство из них легко переводятся на торт:
array(
'having' => array('COUNT(Comment.id) <' => 2),
'group' => array('Comment.post_id')
)
Cake не присоединяется автоматически к таблицам hasMany, но это то, что вам нужно сделать вручную. Посмотрите документацию для деталей.
Edit:
Вы можете сделать предложение having
следующим образом:
array(
'group' => 'Comment.post_id HAVING COUNT(Comment.id) < 2'
)
Ограничения string
только для группы и не могут быть выполнены без группы. Cake 3, вероятно, будет включать в себя больше синтаксиса SQL
, например HAVING