在我的PHP MVC應用程序中,我有三個主要實體:組織,僱員和角色。每個組織都有很多員工,每個員工都有一個角色。顯示清單:集合與陣列
對於給定的組織,我想顯示員工列表。對於每位員工,我將顯示姓名,地址詳細信息和角色名稱。
現在,據我所知,最有效的方法是爲我的服務層返回一個員工列表作爲一個數組,其中每個元素是一個數組字段(而不是一個對象)。在映射器中,我將角色表加入到employee表中,因此正確的角色名稱將位於初始結果集中,並且不需要再次查詢數據庫。
另一種方法是我的服務層返回一個Employee對象集合。然而,在這種情況下,每個Employee對象都需要查詢數據庫以找到它的角色的正確名稱(假設角色被延遲加載)。這會非常低效,但不知何故似乎更「面向對象」。
每當員工實例化時,我都可以考慮加載角色名稱作爲員工的一個屬性,但是我仍然需要保留對唯一角色ID的引用,因此我立即有同步注意事項。
什麼是解決這個問題的典型方法?我相信它已經解決了數百萬次!
謝謝!
體面的ORM應該能夠獲得有關員工名單及其角色的信息,並返回一個Employee對象列表,每個Employee都有一個Role類型的字段,其中包含有關其角色的信息。 – 2013-02-24 09:09:59
沒有什麼能夠阻止你使用第一個替代方法而不是數組。 Voilá,高效*和*面向對象。 – 2013-02-24 09:30:40
你好,我該怎麼辦?同時生成一個Employee集合和一個相關的Role集合? – 2013-02-24 10:43:11