Cake を使用した最初のプロジェクトの DB を設計していますが、外部キー制約の重複に問題があります。
次のような mysql ワークベンチで db モデルを作成します。
学生テーブル ID/名前/
studentProfile テーブル
id/profile_value/student_id 外部キー: ( **student_id**
) Ref student
.id
student_class テーブル
student_id class_id 外部キー: ( **student_id**
) ref student
.id
クラス テーブル ID/クラス名
mysqlへの挿入時にエラー#121が発生しました。読み取り後、重複した外部キーが原因です。( http://thenoyes.com/littlenoise/?p=81 )
しかし、cakephp のドキュメントに記載されているように、外部キー = 関連するテーブルの名前の後に _id が続きます。そのため、同じフィールドを指す複数の外部キーがある場合、重複が発生します。
hasMany、belongsTo、または hasOne リレーションシップの外部キーは、デフォルトで、関連するテーブルの (単数形の) 名前の後に _id が続くものとして認識されます。したがって、Baker が多数の Cake を持っている場合、cakes テーブルは、baker_id 外部キーを介して Bakers テーブルを参照します。category_types のような複数ワードのテーブルの場合、外部キーは category_type_id になります。
助言がありますか?