2009-10-15 45 views
3

使用Doctrine ORM,是否可以在getter中使用時自動加載相關記錄? (沒有明確leftJoins())doctrine orm:繞過延遲加載並在getter中預取相關記錄

我知道我可以使用一個leftJoin()獲取對象有相關的記錄, 但我想避免創建爲每個對象一個DQL查詢,只需 某種自動「預取「相關記錄。

時通過嵌套Doctrine_Records 有周期,這非常有用,它的正是Kohana的ORM具有通過與()語句相同的功能:

http://docs.kohanaphp.com/libraries/orm#with

(它只是執行與查詢即使只有數組語法的「根」記錄也會加入)。

回答

-1

我不知道我的理解,但你可以在doctrine doc找到答案:

$users->loadRelated('Phonenumbers'); 
+0

這不會對描述的場景工作。首先必須加載用戶集合(第一個sql查詢),之後loadRelated將爲所有加載用戶加載Phonenumbers(第二個sql查詢)。很高興知道這一點,但這不是答案... – zidane 2011-08-21 20:37:32