CakePHP中正确的复数/单数表命名约定是什么?CakePHP - 表命名约定(超过一个表)
此:
帖子
posts_pictures
posts_picture_captions < - 不知道这
或者这样:
帖子
posts_pictures
posts_pictures_captions < - 不知道这
我知道CakePHP希望按字母顺序排列表,但在这个问题上应该忽略它。请只考虑复数/单数表命名。
CakePHP中正确的复数/单数表命名约定是什么?CakePHP - 表命名约定(超过一个表)
此:
帖子
posts_pictures
posts_picture_captions < - 不知道这
或者这样:
帖子
posts_pictures
posts_pictures_captions < - 不知道这
我知道CakePHP希望按字母顺序排列表,但在这个问题上应该忽略它。请只考虑复数/单数表命名。
从CakePHP的书:
Model类名是单数和驼峰。 Person,BigPerson和 ReallyBigPerson都是传统型号名称的例子。
对应于CakePHP模型的表名是复数,并强调 。上述模型 的基础表分别为people,big_people和really_big_people。
您可以使用实用程序库Inflector检查单词的单数/复数 。有关更多信息,请参阅Inflector。
带有两个或更多单词的字段名称为下划线:first_name。
hasMany,belongsTo或hasOne关系中的外键默认识别为 后跟_id的(单数)名称。所以如果贝克有许多蛋糕,蛋糕桌 通过baker_id外键引用贝克表。对于其名称包含多个单词的类似 category_types的表,外键 应为category_type_id。
所以刚开始,你的 “posts_pictures” 表应被命名为 “post_pictures”。 因此,两者都不正确。根据蛋糕命名惯例的正确名称是“post_picture_captions”。
Cake Inflector应该做你正在做的事。
您需要完成报价页面。 '在模型之间的hasAndBelongsToMany(HABTM)关系中使用的连接表应该按照它们将要连接的模型表命名,并按照字母顺序排列(apples_zebras而不是zebras_apples)。“因此,如果posts_pictures是JOIN表,那么标准是正确的(假设按照OP,字母顺序无关紧要)。 – AgRizzo 2015-02-05 15:03:48
这不是一个HABTM关系,它只有一个hasMany而不是更多的表。 – TatzyXY 2015-02-06 09:07:32