【发布时间】:2011-08-09 16:34:23
【问题描述】:
我今天遇到了这个问题,我的存储库应该总是返回完整的对象吗?他们不能返回部分数据(例如在数组中)?
例如,我的存储库 Friends 中有方法 getUserFriends(User $user),在此方法中我执行以下 DQL:
$dql = 'SELECT userFriend FROM Entities\User\Friend f JOIN f.friend userFriend WHERE f.user = ?0';
但是这样我会返回包含所有属性的用户实体,生成的 SQL 是用户表中所有字段的 SELECT。但是假设我只需要用户朋友的 id 和名称,那么获取这些值会更有趣(和快速)吗?
$dql = 'SELECT userFriend.id, userFriend.name FROM Entities\User\Friend f JOIN f.friend userFriend WHERE f.user = ?0';
这些方法在我的服务类中执行。
【问题讨论】:
标签: php zend-framework repository-pattern doctrine-orm