我想构建一个自定义CMS工具(是的,我知道 - 另一个CMS),用户可以根据需要创建任意数量的嵌套“节点”。开放式数据和数据类型的数据库结构和关联
示例“节点”:餐厅,人物,鞋子,大洲......任何东西。在每个节点内,根据需要可以有多少个子节点,等等。
在通过Wordpress,Drupal等等进行浏览时,我总是看到类似“分类法”和“术语”的表格。
这似乎是一个“正常”的事情,但我无法围绕应该怎么做,或者他们如何做。我认为这些表格与整体结构和表格关系相关,但是......在线搜索很难解释实际上正在发生的事情,或者我如何最好地设计我的数据库来获取这种结构。
想法我已经到目前为止(这显然不是冲出不然我也不会在这里问):
1)店铺已知的数据类型和bindModel(): 创建像data_locations
和data_texts
这样的表,它们将具有各自的数据字段。所以 - 在data_locations
表中,我有city
,longitude
和address
。而在data_texts表中,我会有title
,subtitle
,content
,author
。然后,每次他们创建一个新的“节点”时,他们可以选择它应该具有的数据类型,我会使用bindModel()
来创建关联(我猜?)。
这不会很灵活,但也许更容易管理,并更快地运行查询......等等?不知道。
2)单“数据”表中的每个节点的自定义字段:有一个data
表和fields
表...每个节点将haveMany fields
- 每一个类型和最大长度...等。然后,在管理员中,我会列出这些字段,并且每个数据块title
,shoe_size
...等将在data
表中与该节点和该字段相关的行中有一行。
这一个看起来更像是我认为“分类学”的东西 - 但是,我真的不知道。
我会给+50赏金的最佳答案 – Dave 2012-08-11 03:58:59
你有没有想过这个?我也有兴趣在这个问题上进一步的解释。http://stackoverflow.com/questions/17983137/saving-data-with-varying-keys-and-values – styks 2013-08-01 00:13:37