Cakephp Countercache - 逻辑问题

时间:2012-04-13 11:57:06

标签: cakephp cakephp-1.3 cakephp-2.1

我正在使用Cakephp 2.0我的模型关系如下:

  

用户有很多帖子

     

发帖有很多评论

     

帖子有很多喜欢

     

评论有很多赞

在Post表中,我添加了一个列“like_count”并启用了countercache 和 在Comment表中,我添加了一个列“like_count”并启用了countercache

喜欢表包含:

ID,POST_ID,comment_idu,USER_ID

和模型如下:

public $belongsTo = array(
    'Post' => array(
        'className' => 'Post',
        'foreignKey' => 'post_id',
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'counterCache' => true
    ),
    'Comment' => array(
        'className' => 'Comment',
        'foreignKey' => 'comment_id',
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'counterCache' => true
    ))

它的工作很好..

  

但是现在我需要完全像计数一样(发布像计数+评论一样   计数)为每个用户。所以我打算在用户表中添加一个字段   启用countercache但完全打击..列将是什么   我需要在用户表中添加名称以及我需要放置Countercache的位置   =>真正。我不怎么走得更远..

1 个答案:

答案 0 :(得分:1)

将以下内容添加到$ belongsTo数组中。

    'User' => array(
        'className' => 'User',
        'foreignKey' => 'user_id',
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'counterCache' => true
    ),

您将在like_count表格中添加users列。


在您的UserModel中,您需要为喜欢的人添加一个HasMany。