我正在为第一个带有 Cake 的项目设计数据库,并且遇到重复外键约束的问题。
我在 mysql 工作台中创建了 db 模型,比如
学生表 id/name/
studentProfile 表
id/profile_value/student_id 外键:(**student_id**
)参考student
。id
student_class 表
student_id class_id 外键:( **student_id**
) ref student
。id
类表 id/类名
插入mysql时报错#121,读后是外键重复造成的。(http://thenoyes.com/littlenoise/?p=81)
但正如cakephp's doc中所述,外键=相关表的名称后跟_id。所以如果有多个外键指向同一个字段,就会有重复。
hasMany、belongsTo 或 hasOne 关系中的外键默认被识别为相关表的(单数)名称,后跟 _id。因此,如果 Baker hasMany Cake,则 cakes 表将通过 baker_id 外键引用 bakers 表。对于像 category_types 这样的多字表,外键是 category_type_id。
有什么建议么?