2015-02-05 78 views
1

CakePHP中正確的複數/單數表命名約定是什麼?CakePHP - 表命名約定(超過一個表)

此:
帖子
posts_pictures
posts_picture_captions < - 不知道這

或者這樣:
帖子
posts_pictures
posts_pictures_captions < - 不知道這

我知道CakePHP希望按字母順序排列表,但在這個問題上應該忽略它。請只考慮複數/單數表命名。

回答

-1

從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。

http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions

所以剛開始,你的 「posts_pictures」 表應被命名爲 「post_pictures」。 因此,兩者都不正確。根據蛋糕命名慣例的正確名稱是「post_picture_captions」。

+1

您需要完成報價頁面。 '在模型之間的hasAndBelongsToMany(HABTM)關係中使用的連接表應該按照它們將要連接的模型表命名,並按照字母順序排列(apples_zebras而不是zebras_apples)。「因此,如果posts_pictures是JOIN表,那麼標準是正確的(假設按照OP,字母順序無關緊要)。 – AgRizzo 2015-02-05 15:03:48

+0

這不是一個HABTM關係,它只有一個hasMany而不是更多的表。 – TatzyXY 2015-02-06 09:07:32