Php 向模型中添加自定义查询

Php 向模型中添加自定义查询,php,cakephp,Php,Cakephp,为了简单起见,我有两个表:项目和任务。一个项目可以有许多任务,而一个任务属于一个项目。 我已经建立了数据库,创建了关联,并使用cake bake生成了模型、控制器和视图,一切都很完美。 当我查看项目的索引视图时,我看到一个表按预期列出了所有项目。我想做的很简单:我想在表中有一列显示分配给该项目的所有任务的计数 对此的SQL查询很简单(返回项目名称列表和任务计数): 那么如何在CakePHP中实现这一点呢? 此时,项目控制器中的索引方法如下所示: function index() { $t

为了简单起见,我有两个表:项目和任务。一个项目可以有许多任务,而一个任务属于一个项目。 我已经建立了数据库,创建了关联,并使用cake bake生成了模型、控制器和视图,一切都很完美。 当我查看项目的索引视图时,我看到一个表按预期列出了所有项目。我想做的很简单:我想在表中有一列显示分配给该项目的所有任务的计数

对此的SQL查询很简单(返回项目名称列表和任务计数):

那么如何在CakePHP中实现这一点呢? 此时,项目控制器中的索引方法如下所示:

function index() {
    $this->Project->recursive = 0;
    $this->set('projects', $this->paginate());
}

您可以使用or,但它是另一种方式。

您可以使用or,但它是另一种方式。

将其添加到项目模型中:var$virtualFields=array('taskcount'=>'SELECT COUNT(*)FROM tasks WHERE project_id=project.id');一切都很好!将其添加到项目模型中:var$virtualFields=array('taskcount'=>'从任务中选择COUNT(*),其中project_id=project.id');一切都很好!
function index() {
    $this->Project->recursive = 0;
    $this->set('projects', $this->paginate());
}