私のアプリケーションでは、ユーザーとプロファイルという2つのテーブルがあります。ユーザーにはプロファイルがあり、プロファイルはユーザーに属します。私がこれをしたのは、テーブルをシンプルに保つため、コントローラーをそれぞれ小さくするためでした。 UserControllerはログインを処理し、パスワードを忘れてしまい、ProfileControllerが編集、プロフィール表示などを処理します。CakePHP:別のテーブルのユーザーとプロファイル
投稿やコメントや友達私はジレンマに遭遇しました!
現在、user_idの外部キーを使用してユーザーにポスタとコメントを入力し、クエリのcontainsを使用してプロファイル情報を取得しますが、フレンズの場合はプロファイルID経由でリンクします。
だから、もっと良い選択肢は何ですか?より関連性の高い、将来的にユーザーが追加の情報を持っている場合は、プロファイルIDをリンクするほうがよいように見えるので、プロファイルにリンクされているものと、リンクされているものとを区別するのは難しいでしょう同じユーザーのグループまたはページにリンクされています。
これはややオープンな質問ですが、他の人が考え、特にパフォーマンスとコードの効率性を分かち合うことができれば助けになるでしょう。
ユーザHasOneプロフィールは私の設定です。ユーザーは1つしか持てないので。だからあなたが2つのモデルにそれらの機能性を分けているなら、あなたはそれをHasMany関係にしてはいけません。私もプライマリキーと同じIDを使用しています(プロファイルはユーザーのものを使用します)。この方法では、結合は非常に簡単でオーバーヘッドはほとんどありません。 – mark