我正在尝试通过hasmany关联加入模型,然后计算记录数。基本上我有用户和项目。我想在用户索引操作上显示关联项目的数量。
var $hasMany = array('Project' =>
array('className' => 'Project',
'conditions' => '',
'order' => '',
'limit' => '',
'foreignKey' => 'user_id',
'dependent' => true,
'exclusive' => false,
'finderQuery' => '',
'fields' => '',
'offset' => '',
'counterQuery' => '',
'counterCache' => true
)
);
所以我加入了user_id上的Project模型,并将counterCache设置为true。问题是如何在用户索引视图中访问它?
我试过
<?php echo $user['Project']['project_count']; ?>
和
<?php echo $user['User']['project_count']; ?>
有人可以帮助我吗?
Jonesy
答案 0 :(得分:1)
counterCache
需要加入belongsTo
关联。在您的示例中,您需要在project_count
表中使用users
,而在项目模型的关联belongsTo
中,您需要将counterCache
激活为true。 Check the manual
答案 1 :(得分:1)
如果您已完成所有操作且project_count仍未更新,请尝试关闭app / config / core.php中的缓存
我在更新数据库架构时遇到了这个问题但是Cake正在缓存旧架构,因此没有找到计数器字段。