2013-07-05 194 views
0

我正在为Cake的第一个项目设计数据库,并有重复的外键约束问题。CakePHP&外键约束

我创建MySQL工作台的数据库模型,像

学生表 ID /名称/

studentProfile表 ID/profile_value/student_id数据 外键:(**student_id**)参考studentid

student_class表 student_id数据 类标识码外键:(**student_id**)REF studentid

类表 ID /类名

我得到错误#121,当插入到mysql.After阅读,它是由重复的外键造成的。 (http://thenoyes.com/littlenoise/?p=81

但正如cakephp的文档中所述,foreign key =相关表的名称后跟_id。所以如果有多个外键指向同一个字段,就会出现重复。在的hasMany,属于关联

外键或hasOne关系 公认默认为相关表 接着_id的(单数)的名字。所以如果贝克有许多蛋糕,蛋糕桌 通过baker_id外键引用贝克表。对于类似category_types的多个 措辞表,外键将是 category_type_id。

有什么建议吗?

当你调用
+0

你的表应该被称为“学生”,“student_profiles”,“student_classes”和“班”,除非你是有意覆盖CakePHP的命名约定。 – RichardAtHome

+0

对,这是一个问题,但它不是错误的原因121。任何建议? – MrHulala

+2

@RichardAtHome [classes_students](http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions)* – AD7six

回答

-1

PLZ使用别名同名FK

studentProfile.student_id and student_class.student_id