从cakephp 2.4中的关联表中获取记录数

时间:2014-05-01 07:33:41

标签: cakephp associations cakephp-2.4

我刚刚创建了运行良好的示例博客应用程序。

但除此之外,我想在博客列表页面上显示每个博客的评论计数。

我怎么能得到这个?

表格是:

  1. 博客
  2. 评论
  3. 每个博客可能有很多评论。这是我需要获得的,即特定博客的评论有多少。

1 个答案:

答案 0 :(得分:1)

使用计数器缓存

假设评论属于博客,实现这一目标的一种简单方法是使用counterCache

这意味着添加一个字段用于将计数存储到您的博客表中:

alter table blogs add comment_count int(11) default 0;

将计数器缓存添加到注释的关联定义中:

class Comment extends AppModel {

    public $belongsTo = array(
        'Blog' => array(
            'counterCache' => true,
        )
    );

}

然后,无论何时创建或删除评论,都会在博客表中更新comment_count字段值。