У меня есть две модели в отношении 1: n, и я просто хочу загрузить количество связанных элементов.
Первая - это таблица / модель "Ad" (одна), которая связана с "AdEvent" (многие). AdEvents имеет внешний ключ "ad_id".
В контроллере я могу использовать его таким образом, и он загружает соответствующие записи AdEvent.
$this->Ad->bindModel(array('hasMany' => array(
'AdEvent' => array(
'className' => 'AdEvent',
'foreignKey' => 'ad_id',
))));
Теперь мне просто нужен счетчик без данных, и я попытался с помощью параметров "fields" и "group" выполнить оператор COUNT (), но в этом случае результат будет пустым. Я также изменил отношение к hasOne, но без эффекта.
Есть идеи, как использовать магию торта для этого?
EDIT:
С простым SQL это выглядело бы так (я просто указал a.id вместо a. *):
SELECT a.id, COUNT(e.id) AS count_events
FROM cake.admanager_ads AS a
JOIN ad_events AS e ON e.ad_id = a.id
GROUP BY a.id
LIMIT 50;