編輯:如果你有類似的問題This Topic將是你感興趣如何防止懶惰加載一對一關係的教條?
我有用戶和UserSettings與一對一的雙向關係。看起來,即使我沒有在我的頁面中使用任何UserSettings值,doctrine懶惰加載它。
這是預期的行爲?爲什麼Doctrine獲取這些數據,即使我沒有在我的頁面中使用它?如果我無法阻止它,那麼每次檢索用戶對象時都必須將此用戶設置加入到用戶中,但這是不必要的。
我該怎麼做才能防止這種情況發生?加載數據
代碼:
->createQuery('SELECT p, u, s FROM TestPostBundle:Post p LEFT JOIN p.user u LEFT JOIN p.sub s WHERE p.id IN (:ids)')
->setParameter('ids', $ids)
->getResult();
將通過崗位樹枝我環路和顯示數據後和相關的用戶,但我從來沒有要求任何UserSettings變量,我不訪問它們。
請發送加載用戶的代碼。 – 2012-03-16 11:08:41
@FractalizeR我剛添加了代碼 – DavidW 2012-03-16 12:50:53
這不是行爲。我猜你在某個地方實際上正在獲取用戶設置。嘗試在你的getUserSetting方法中放入一個die()語句。這應該證實或否認我的猜測。 – Cerad 2012-03-16 13:18:08