将自定义查询添加到模型

时间:2011-06-28 09:41:30

标签: php cakephp

为简单起见,我有两个表:项目和任务。项目可以有许多任务,任务属于项目。 我已经设置了数据库,创建了关联并使用了蛋糕烘焙来生成模型,控制器和视图,这一切都很完美。 当我查看项目的索引视图时,我看到一个表按预期列出了所有项目。我想要做的事情非常简单:我希望该表中的列显示分配给该项目的所有任务的计数。

对此的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());
}

1 个答案:

答案 0 :(得分:1)

您可以使用virtualFieldscounterCache,但这是另一种方式。