0

投稿とコメントがあり、ユーザーはどちらも「いいね」できます。私はcakePHPを使用しています。

投稿/コメントが読み込まれるたびにいいねを再カウントしたくないので、投稿テーブルとコメントテーブルにはそれぞれ「いいね」の行があります。ID(投稿ID、ユーザーID)を含むLikesテーブルもあるので、ユーザーがすでに何かを「いいね」したかどうかを知ることができます。

私は、cakePHPのモデル内でこの関係をどのように設定するのか、また、同時に新しいいいねをLikesテーブルに追加するときにPosts.likesフィールドを更新する方法を考えていました。

Likesモデルで投稿とコメントを「belongTo」に設定しました。現時点では、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??
    }
...
}
4

1 に答える 1

2

テーブルはそのままにしますが、テーブルにlike_countフィールドを追加します。postscomments

comment_countまた、テーブルにを追加しpostsます。

次に、CakePHPのcounterCacheを使用するだけで、投稿ごとのいいねとコメントの数が自動的に追跡されます。

于 2012-10-15T20:21:36.877 に答える