0

我对标签云做了一些研究,最终选择了一个类似于本页中看到的 Wordpress 的模式:http://www.pui.ch/phred/archives/2005/04/tags-database-schemas。 html

目前,我创建的表是:Posts, PostsTagMaps,PostsTags

PostsTagMaps1)即使我不打算使用控制器,我是否需要创建一个表?

2) 一个PosthasMany PostTagMaps。我不确定我应该在哪里定义这种关系。我认为它应该是Post模型,但是我必须加入PostsTags表格才能PostTagsMaps加入Posts,所以我想征求一些建议。

4

1 回答 1

1

简单的解决方案是遵循 Cake 约定(这看起来与您链接到的解决方案非常相似)。您将拥有三个表:

posts, tags,posts_tags

然后是您的Post模型 HABTMTag模型。Cake 将自动使用连接表来保存和检索信息。查看本书以获取有关设置架构的更多信息。

Cake 足够灵活,您可以随心所欲地进行操作,但如果它是一种基本的 post-tags 关系,则约定方法是可行的方法。

如果您想使用自定义模型/表格PostsTagMaps,请在您的 HABTM 关系定义中使用“with”键来执行此操作。'with' 键告诉 Cake 使用一个特定的模型(因此是一个特定的表)而不是自动生成的版本。在这种情况下,您的标签模型听起来像,PostsTags而您的 HABTM 表是,因此HABTM上PostsTagMaps的“with”键将是。PostPostsTagPostsTagMap

于 2012-03-26T22:07:13.180 回答