Похоже, когда я забываю поставить leftJoin в своих запросах, Doctrine будет лениво-загружать отношения после того, как я их заберу. Т.е., если я что-то вроде:Doctrine: Lazy loading properties
$property = PropertyTable::getInstance()->createQuery('o')
->leftJoin('o.Features f')
->execute() ;
я все еще будет в состоянии получить доступ к $ собственность-> Аттракцион, даже если я не загружать их в этом запросе. Поэтому я полагаю, что Doctrine делает это внутри, вызывая другой «SELECT». Есть ли способ предотвратить эту автоматическую загрузку, выбросив какое-то исключение? Это поможет мне создавать более быстрые и быстрые запросы.
Да, я пробовал это и нет, он не загружает Attraction. Но я могу получить к ним доступ через $ property-> Attraction. Я хотел бы, чтобы какое-то исключение было брошено, поэтому я не могу ошибиться, когда пишу запрос. Поскольку я делаю действительно большие программы, очень легко пропустить что-то подобное. – Zeljko
Я считаю, что вы можете получить к ним доступ, потому что он вызывает новый запрос, и поэтому он предназначен для поведения. Я думаю, что решение здесь не в изменении машины, а в том, чтобы уделять больше внимания тому, как вы используете машину. – Tom
Да, но идея состоит в том, чтобы предотвратить автоматическую выборку. Очень легко пропустить некоторое присоединение к быстрой разработке больших программ. – Zeljko