2013-08-19 111 views
0

對於CakePHP應用程序,我正在考慮遵循CakePHP命名約定的數據庫表名。然而,很多時候我遇到一個通用表,其中包含的信息本身不是一個實體,但包含其他實體信息。本表中的信息旨在重複使用,因此將其與主要實體表分開。表名中的CakePHP命名約定

例如:我使用的產品有時可能是主產品。在這種情況下,表「產品」鏈接到表「master_product_information」,以獲取我不想在「產品」表中獲得的額外信息。

另一個例子:一個包含多個頁面元數據的表格。通常我會將表格命名爲「pages_metadata」,但對於Cake而言,這需要是複數形式,而「pages_metadatas」似乎不正確。所以我再一次去「pages_metadata_information」。

如何命名不包含實體的表? [實體]信息是否好?

我希望聽到一些建議。

謝謝。

+0

Dupe? http://stackoverflow.com/questions/6327249/cakephp-table-naming-convention – ficuscr

+0

@ficuscr我讀了另一頁,但我正在尋找一種方法來命名一般信息表。不僅僅是連接表格,還有應該有Cake模型的表格。 – Hans

+1

哎呀。不確定這是否有正確或錯誤的答案。我認爲什麼有效並且是描述性的。只要一致。 – ficuscr

回答

5

正確的答案(IMO)只需要遵循CakePHP的慣例 - 即使偶爾出現一些尷尬的表名,生活也會變得最簡單。

就你的情況而言,我會命名「master_product_information」表master_products。它包含有關master_product的「信息」的事實不需要在表名中指定。就像存儲有關客戶信息的表是「客戶」表,而不是「customer_information」表。

對於「pages_metadata_information」,我敢肯定'元數據'是一個複數術語。我會用page_metadata這個名字,甚至只是metadata。元數據與頁面或頁面關聯的事實很可能不需要在表名中指定。就像「老師」表不會被稱爲「學生教師」一樣,儘管老師總是與學生聯繫在一起。

你的表名有時可能會有些尷尬,但這不像打破慣例那麼麻煩,而且你會很快適應它。