2013-05-28 30 views
0

加入我有一個MySQL數據庫是這樣工作的我的MVC視圖上的模塊結構:執行模塊結構和MVC3

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) 

我有我的問題,兩個問題: - 這是正確的這個數據庫的結構? - 這是主要問題,我有...模塊,是我的網頁不同部分的鏈接,所以我如何將模塊與控制器/操作方法相關聯?在模塊表中放入動作和控制器是一個好習慣嗎?我想不是......那麼,我可以選擇什麼呢?

回答

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) 

一個reletionship我發現更容易迭代每一個模塊與她的孩子的的結構

現在,控制器和動作,我想你應該有一些控制器爲你的模塊,所以你可以呈現一個動作鏈接到控制器「模塊」和行動「表演」或類似的東西,併發送模塊ID作爲參數,如果你需要,也可以使用文件夾ID,這樣你就可以在用戶,模塊和文件夾組合的基礎上做你想做的事情