在我的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