這個問題讓我今天,我的倉庫應該總是返回完整的對象?他們不能返回部分數據(例如在數組中)?存儲庫應該總是返回對象?
例如,我有方法getUserFriends(User $user)
我的倉庫裏面Friends
,這個方法我執行以下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';
這些方法在我的服務類執行。