1
爲了簡單起見,我有兩個表:項目和任務。一個項目可以有很多任務,一個任務屬於一個項目。 我已經建立了數據庫,創建了關聯並使用了蛋糕烘烤來生成模型,控制器和視圖,並且都是完美的。 當我查看項目的索引視圖時,我看到一個按預期列出所有項目的表格。我想要做的事情非常簡單:我需要該表中的一列顯示分配給該項目的所有任務的計數。將自定義查詢添加到模型
這個SQL查詢是微不足道的(返回項目名稱列表和任務計數):
SELECT projects.name,
(SELECT COUNT(*) FROM tasks WHERE project_id = projects.id) as taskCount
FROM projects
那麼,如何在CakePHP中實現這一目標? 在項目控制器索引方法看起來像這樣的時刻:
function index() {
$this->Project->recursive = 0;
$this->set('projects', $this->paginate());
}
將此項添加到項目模型中: var $ virtualFields = array('taskcount'=>'SELECT COUNT(*)FROM tasks WHERE project_id = Project.id'); 和一切都很好! – Ben