2014-11-04 76 views
0

我用下面的代碼返回一個對象:(Doctrine2-Symfony2中)返回外鍵用的findAll()

$myVariable = $this->getDoctrine()->getRepository('MainBundle:TheEntity')->findAll(); 

我的問題是:有沒有辦法也有一個類似的回報外鍵功能?

謝謝。

+0

'$ myVariable'包含存儲在數據庫中的所有'TheEntity'。我不確定要理解你想要的東西。 – Brice 2014-11-04 13:57:18

+0

如果你的外鍵在教條內正確設置(ManyToOne,ManyToMany等),你可以通過你的實體的getter獲得實體。 你正在使用類,而不是數組或類似的東西。 – Koalabaerchen 2014-11-04 14:05:47

+0

@Koalabaerchen儘管你可以使用查詢生成器和'getArrayResult()' – sjagr 2014-11-04 17:03:34

回答

0

默認情況下,Doctrine在您調用它時會獲取關聯的實體,因此您只能使用$myAssociatedEntity = $myEntities->getMyAssociatedEntity()之類的東西。這就是所謂的lazy loading,並會導致很多小的請求,所以它通常最適合快速原型設計。更好的做法是用JOIN子句編寫自己的存儲庫方法,以便在一個更大的請求中獲得所有內容。