0
我有1:n關係中的兩個模型,我只想加載相關項目的計數。CakePHP:使用bindModel的相關模型的加載計數
第一個是與「AdEvent」(許多)有關的表/模型「廣告」(一個)。 AdEvents有一個外鍵「ad_id」。
在控制器中,我可以用它來加載相關的AdEvent記錄。
$this->Ad->bindModel(array('hasMany' => array(
'AdEvent' => array(
'className' => 'AdEvent',
'foreignKey' => 'ad_id',
))));
現在我只需要計數沒有數據,我試圖與參數「域」和「組」一COUNT() - 聲明,但在這種情況下,結果是空的。我也將關係改爲「hasOne」,但沒有效果。
任何想法如何使用Cake-magic來做到這一點?
編輯: 通過簡單的SQL它看起來像這樣(我simplyfied它,A.ID代替。*):
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;
這一發現( '計數')是什麼OP是尋找。一些東西不是一種關聯,它只是一個來自原始模型的數字。 – Oldskool
我知道,但那就是我試圖避免的,因爲需要加載大量不必要的數據。 – Daniel
@oldskool:我需要「廣告」的所有數據加上相關的「AdEvents」的數量。我可以使用一個簡單的SQL查詢,但要求是用cakemagic做... ...( – Daniel