相关疑难解决方法(0)

CakePHP模型:COUNT(*)in Containable

我有一个CakePHP 1.3应用程序,并且非常喜欢用于获取数据的Containable行为.

让我们假设我的帖子与评论有一对多的关系.我使用Containable查询(用于分页)所有帖子和所属的注释的列表.但我只对每个帖子有多少评论感兴趣.我没有找到任何方法来实现这个包含可查询的查询而不获取所有注释行.我试过了:

$this->paginate=array(
            'fields' => 'Post.title, Post.created',
            'contain' => array('Comment'=>'COUNT(*) AS count'),
        );
Run Code Online (Sandbox Code Playgroud)

结果"模型"注释"与模型"计数"错误消息无关.

$this->paginate=array(
            'fields' => array('Post.title, Post.created'),
            'contain' => array('Comment'=>array('fields'=>'COUNT(*) AS count'),
        );
Run Code Online (Sandbox Code Playgroud)

如果不起作用,结果集为每个Post包含一个空的Comment数组,除了最后一个数组,它包含count字段,但是所有注释的数量不仅仅是所属的注释.

我的另一个猜测是

$this->paginate=array(
            'fields' => 'Post.title, Post.created, COUNT(Comment.id)',
            'contain' => array('Comment'=>array('fields'=>''),
        );
Run Code Online (Sandbox Code Playgroud)

但这会导致错误,因为hasMany关系是独立查询的,因此Answer表不在Post条目的查询中.我怎样才能计算帖子的评论数量?

php pagination cakephp model

12
推荐指数
2
解决办法
9488
查看次数

标签 统计

cakephp ×1

model ×1

pagination ×1

php ×1