2012-03-26 64 views
0

實現標籤雲我做了標籤雲一點點研究,我最終選擇了類似WordPress的人在這個頁面看到一個模式:http://www.pui.ch/phred/archives/2005/04/tags-database-schemas.html使用CakePHP

目前,我所創建的表是:PostsPostsTagMapsPostsTags

1)即使我不打算使用控制器,我是否需要爲PostsTagMaps創建表格?

2)A Post hasMany PostTagMaps。我不確定我應該在哪裏定義這種關係。我認爲應該是Post模式,但是我必須加入PostsTags表格到PostTagsMaps然後加入到Posts,所以我想徵求一些建議。

回答

1

簡單的解決方案是遵循Cake約定(它看起來與鏈接的解決方案非常相似)。您將有三個表:

poststagsposts_tags

然後你Post模型HABTM Tag模型。 Cake會自動使用連接表來保存和檢索信息。有關設置架構的更多信息,請查詢the book

蛋糕非常靈活,您可以根據自己的需要做到這一點,但如果它是一種基本的帖子 - 標籤關係,那麼慣例方法就是最好的選擇。

如果您想要使用像PostsTagMaps這樣的自定義模型/表格,請在HABTM關係定義中使用'with'鍵執行此操作。 'with'鍵告訴Cake使用特定的模型(並因此使用特定的表格)而不是自動生成的版本。在這種情況下,您的標籤模型聽起來像是PostsTags,而您的HABTM表格是PostsTagMaps,因此Post HABTM PostsTag上的'with'鍵將是PostsTagMap