Доктрина: Ленивая загрузка свойств - PullRequest
2 голосов
/ 22 октября 2010

Похоже, что когда я забываю добавить leftJoin в мои запросы, Doctrine будет загружать отношения с отложенной загрузкой после того, как я их выберу.Т.е. если я сделаю что-то вроде:

$property = PropertyTable::getInstance()->createQuery('o')
  ->leftJoin('o.Features f')
  ->execute() ;

, я все равно смогу получить доступ к $ property-> Attraction, даже если я не загрузил их в этом запросе.Так что я думаю, что Doctrine делает это внутренне, вызывая еще один «SELECT».Есть ли способ предотвратить эту автозагрузку, выдав какое-то исключение?Это помогло бы мне создавать более качественные и быстрые запросы.

1 Ответ

0 голосов
/ 22 октября 2010

Вы смотрели на фактический sql, который он производит?

Попробуйте ->getSql().Вероятно, он выполняет другой запрос, когда вы пытаетесь получить доступ к связанному полю.

Если вы хотите избежать этого, не открывайте связанные поля!

...