2011-05-28 29 views
1

讓我從一個簡單的例子開始,展示我的數據是如何構造的。有四個表格Employee,Store,DepartmentEmployee_Department_Permissions應該在模型還是控制器中提取相關的行?

部門屬於商店(例如,部門表可能包含商店5的乳品部門的記錄)。員工有權通過Employee_Department_Permissions表(包含員工ID和部門ID)在部門工作。

假設員工可以登錄我的應用程序並查看數據庫中每個商店的列表。在每家商店旁邊,我想打印出他們可以在每家商店中工作的部門。我有一個帶有映射器的Employee模型,它提供了fetchAll方法來完成第一部分。

但是,我應該在哪裏找出員工可以工作多少個部門?在我的模型包裝中,我可以撥打findDependentRows來執行此操作。或者,我可以在我的控制器中用原始Zend_Db_Select調用完成。我正在考慮的第三個選項只是將一列添加到包含此信息的Employee表中,但是當Employee_Department_Permission被修改時,我需要更新第二個表。

非常感謝您的任何建議。

回答

3

作爲一個非常一般的經驗法則,我建議你儘量讓控制器儘可能免費獲取視圖的信息。這是模型中最好處理的任務。

當然,從控制器中取數據很容易,我的意思是,因爲我們在那裏處理一個請求,所以只做一個快速獲取並將其推送到視圖就太簡單了。 這是dicipline進場的地方。隨着您的應用程序的不斷增長,您將欣賞如果應用,此方法學爲您提供的清晰分離

我的2美分,快樂的編碼給你的朋友。

+0

我100%同意;感謝您的答覆 :) – 2011-05-28 19:54:17

相關問題