Cakephp有很多,属于协会需要帮助

时间:2012-02-02 13:10:07

标签: cakephp model associations has-and-belongs-to-many

我不确定如何继续我的数据库架构和我的模型关联,任何帮助将不胜感激!!!

Okei,在这里;

模型1:发布 (id,title,category_id,tag_id,body,created,modified) 模型2:类别 (id,title,description,created,modified) 模型3:标签 (id,title,description,created,modified)

Mu问题是如何“构建”数据库表以允许具有关联的多个标签和类别。

示例:如果Post 1属于category_id = 1,并且hasMany Tag,则tag_id:1,3,8,99 示例2:如果Post 2属于category_id = 1,5且hasMany Tag,则tag_id:1,8,43

所以基本上,我不确定要使用哪种模式以及允许多种关联的最佳实践。

有什么建议吗?

谢谢! - 汤姆

1 个答案:

答案 0 :(得分:1)

实现此目的的最简单方法是使用查找或连接表。对于这些案例,Cake使用所谓的“Has And Belongs To Many”(HABTM)关系,这是一种“多对多”关系类型。

看看at the manual entry for HABTM来处理这种情况。该手册提到了您的目标可比设置。

在您的情况下,您将拥有poststags个表,这些表由名为posts_tags的查找表连接,其中包含post_idtag_id列。如果在Post Model中正确定义HABTM关系,Cake将在保存,查找和更新数据时知道如何正确使用这三个表。