0

我在 MySql 数据库上有一个模块结构,它在我的 MVC 视图上像这样工作:

Folder1 (id_folder)
   |----> Module1 (id_module)
   |----> Module2 
   |----> Module3 (this is disabled)
             |----> Module4 (child of Module3)
   |----> Module5

Folder2
   |----> Module2

这种结构适用于我在网站上的用户,每个用户都有不同的模块,具体取决于他的权限(但这是另一回事)。在我的 MySQL 数据库中,我认为是这样的结构:

folder
  |- id_folder
  |- display_name

module
  |- id_module
  |- display_name
  |- isDisabled

module_rel
  |- id_module_parent (fk to id_module)
  |- id_module_child (fk to id_module)

module_folder
  |- id_module (fk to id_module)
  |- id_folder (fk to folder table)

关于我的问题,我有两个问题: - 这个数据库结构是否正确?- 这是我的主要问题..模块是指向我网页不同部分的链接,那么我如何将模块与控制器/操作方法相关联?将动作和控制器放入模块表中是一个好习惯吗?我不认为..那么,我可以有哪些选择?

4

1 回答 1

1

您建议的结构可以被接受,但我在这种情况下所做的是与同一张表的关系

folder
  |- id_folder
  |- display_name

module
  |- id_module
  |- display_name
  |- isDisabled
  |- id_module_parent (fk to id_module)


module_folder
  |- id_module (fk to id_module)
  |- id_folder (fk to folder table)

通过这种方式,我发现用她的孩子更容易迭代每个模块

现在,有了控制器和动作,我想你应该为你的模块设置一些控制器,这样你就可以将动作链接呈现给控制器“模块”和动作“显示”或类似的东西,并将模块 ID 作为参数发送,如果你也需要文件夹ID,所以你可以在用户、模块和文件夹组合的基础上做你想做的事

于 2013-05-28T17:28:40.810 回答