CakePHP HABTM находит все записи, которые имеют связанные записи

У меня есть модель - "Категория", которая HABTM "Блог". Мне нужно создать запрос, который будет выбирать только те категории, с которыми связано больше нулевых блогов. У меня проблемы с тем, как это сделать. Все, что я придумал, это получить категории из базы данных с помощью find('all'...), а затем извлечь те, у которых есть что-то в массиве $category['Blog']. Очевидно, я бы предпочел не просить базу данных выполнять всю эту работу, поэтому более элегантное решение было бы очень признательно.

Спасибо за чтение!


person Will    schedule 09.08.2011    source источник


Ответы (1)


не очень элегантно (коротко), но я думаю, что это правильный путь:

  1. добавить поле blogs_category_count в таблицу категорий
  2. добавить категорию hasMany BLogsCategory с counterCache

поэтому вам просто нужно добавить условие к этому find('all')

person Anh Pham    schedule 09.08.2011