我正在使用Cake为第一个项目设计数据库,并且遇到重复的外键约束问题。
我在mysql workbench中创建了db模型,类似于
学生表 ID /名称/
studentProfile表
ID / profile_value / student_id数据
外键:(**student_id**
)参考student
。id
student_class表
学生卡
班级号
外键:(**student_id**
)ref student
。id
班级表 ID /类名
插入mysql时出现错误#121。读取后,它是由重复的外键引起的。 (http://thenoyes.com/littlenoise/?p=81)
但正如cakephp的doc中所述,foreign key =相关表的名称后跟_id。因此,如果有多个外键指向同一个字段,则会有重复。
hasMany,belongsTo或hasOne关系中的外键 默认情况下被识别为相关表的(单数)名称 然后是_id。因此,如果贝克有很多蛋糕,那么蛋糕桌就会 通过baker_id外键引用面包师表。对于一个倍数 像category_types这样的措辞表,外键就是 category_type_id。
有什么建议吗?
答案 0 :(得分:-1)
当您调用同名FK时,请使用别名
studentProfile.student_id and student_class.student_id