私は、Facebook が CakePHP で「いいね!」をするように、最もよく説明できることをしようとしています。ユーザー、いいね、投稿、写真の 4 つのテーブルがあります。ユーザーは投稿または写真に「いいね」を付けることができますが、私は両方の可能性に対して 1 種類の「いいね」のみを使用するようにしています。
また、コントローラーで使用するコードをできるだけ少なくしたいと考えています。
これを行う「ネイティブ」な CakePHP の方法はありますか?
私は、Facebook が CakePHP で「いいね!」をするように、最もよく説明できることをしようとしています。ユーザー、いいね、投稿、写真の 4 つのテーブルがあります。ユーザーは投稿または写真に「いいね」を付けることができますが、私は両方の可能性に対して 1 種類の「いいね」のみを使用するようにしています。
また、コントローラーで使用するコードをできるだけ少なくしたいと考えています。
これを行う「ネイティブ」な CakePHP の方法はありますか?
CakeDC の "Favorites" プラグインを見ることができます。
それ以外に、CakePHP には何かを「いいね」する組み込みの方法はありません。しかし、CakePHP を使用してそれを行うと、非常に簡単になります。
(ここは単に「ハウツー」コードを投稿する場所ではありません。試したことやこれまでの考えを投稿していただければ、正しい方向性や場所を教えてくれます。あなたは間違ったことをしている...など)
Cake PHPは、期待どおりに設計されたテーブルのビューをネイティブに作成します。この場合、外部キーは異なるテーブルにリンクするため、おそらく2つの「いいね」テーブルが必要です。
例:Likes_Posts:user_id、post_id
Likes_Pictures:user_id、picture_id
このようにして、すべてのいいねを表示するユーザービューを作成できます。CakePHPは、Bakeを使用してこれを「自動的に魔法のように」行うことができます。1つのフィールド外部キーを2つの異なるテーブルに使用しようとすると、CakePHP(およびおそらく自分自身)を混乱させることになります。お役に立てれば...