2011-09-03 20 views
0

我有一个关于CakePHP和数据库关于我有一个应用程序想法的问题。我仍然只是在代码的第一行,但我试图想出它会从CakePHP需要什么。我已经意识到的一件事是,这个应用程序的结构将需要创建运行时表,这将不起作用,因为我需要烘烤。CakePHP/SQL动态表创建和关系,我需要一个更好的方法

请允许我解释一下。有一个名为列表的父对象。该清单有很多意见,它也有很多意见。基本上用户向父列表提交一个项目,他们也可以评论父列表。我很难搞清楚的是我如何构建这一切。

我的第一个想法是有一个表包含每个列表的行,与它的基本属性。然后每个列表包含列表提交和评论两个表。我不确定评论和提交表应该与包含父信息,外键的列表中的行有什么样的关系?

这种方法的问题是当用户创建一个新列表时,这需要创建与该列表关联的两个新表。由于需要烘焙来生成蛋糕结构,我不认为这在CakePHP中是可行的。我的另一个想法是,如果Cake允许我在没有建立模型的情况下访问任意表格,我可以访问所有内容,但是我必须在我依赖它们的每个点上定义所有关系。

我不太清楚如何处理这个,任何帮助表示赞赏。

回答

4

如上所示,您不需要每次都添加新表格。您应该有3个表格,lists,list_submissionslist_comments。当某人添加一个列表时,您会在lists表中添加一行。 list_submissionslist_comments应该有一个list_id字段作为外键,所以当添加新的评论或提交时,只需将它所属列表的ID保存在适当的表中。您的ListSubmissionListComment应该与List模型有'属于'关系。

+0

我曾考虑过这一点,但我不知道这是否是公认的方法。我认为数据应该更加精细地分布,但它确实解决了我的问题。谢谢:-) – Zetaphor

+1

如果你想知道,你可以访问没有模型的表。如果你使用任何模型的查询函数,它将只是直接处理mysql,所以你可以查询你想要的任何表 –

相关问题