我有帖子和评论,用户也可以“喜欢”。我正在使用cakePHP。
帖子和评论表每个都有一个“喜欢”的行,因为我不想在每次加载帖子/评论时重新计算喜欢的内容。我也有一个喜欢的表,其中包含ID(帖子ID,用户ID),以便我知道用户已经“喜欢”了什么。
我想知道如何在cakePHP中的模型中建立这种关系,以及如何在同时在Likes表中添加新内容时更新Posts.likes字段。
我在Like Model中设置了喜欢“belongsTo”帖子和评论,此刻,我的LikesController.php看起来像这样:
public function add(){
...
if ($this->Like->save($this->request->data)) {
//like is added to Likes table, now how to add to the "parent" Post or Comment??
}
...
}
答案 0 :(得分:2)
保持您的表格不变,但在like_count
和posts
表中添加comments
字段。
还要在comment_count
表格中添加posts
。
然后只使用CakePHP的counterCache,它会自动跟踪每个帖子的喜欢和评论数量。