0

目标描述

尝试用 CakePHP 制作一个 CMS(供内部使用,但在许多网站上)。

我希望能够拥有一个通用Content模型,然后拥有许多不同的用户生成内容types

这很容易做到,但contents如果网站上的每一条内容都在其中,我的单个表格最终会变得很大。我想将其拆分为表格以帮助查询时间/站点速度...等。

我的想法(不确定是否可能)会以某种方式告诉 CakePHP,如果typeContent 的字段是“文章”,它应该使用content_articles表...等这些表将afterSave在创建新的content_type.

为他们提供特定内容类型将使用哪些字段的选项会很好 - 甚至通过添加/删除字段...等来管理它,然后只在表中生成这些字段,并以某种方式基于content_fields表对它们进行验证数据。

//my thoughts on tables:    
content_types //id, name, description, use_table
content_fields //id, name, content_type_id, required, field_type, max_chars
content_articles //generated by code
content_people //generated by code

问题:

甚至可能吗?有没有更好的方法来解决这个问题?

4

1 回答 1

0

也许对内容使用键值表而不是标准表?CakeDC 的 utils 插件可以通过支持的 RDBMS 做到这一点。

或者,您可以将此模型设置为使用像 MongoDB 这样的键值数据源,这是使用 NoSQL 的一个很好的用例。如果您谈论的是海量键值存储和不断变化的架构,我可能会采用这种方法。github上有一个MongoDb插件。

于 2012-07-21T13:25:35.230 回答