Doctrine Regular vs Fetch join

в доктрине, каковы различия между регулярными и выборками? Я не понимаю, просто прочитав документы .

// regular $query = $em->createQuery("SELECT u FROM User u JOIN u.address a WHERE a.city = 'Berlin'"); $users = $query->getResult(); // fetch $query = $em->createQuery("SELECT u, a FROM User u JOIN u.address a WHERE a.city = 'Berlin'"); $users = $query->getResult(); 

Какова цель подключения? если я select u, a почему я просто получаю users ( $users = $query->getResult(); )? если я использую регулярное соединение, я могу использовать $user->getAddresses() для доступа к связанным объектам?

Я думаю, что документы описывают это довольно хорошо. Если вы используете соединение fetch, связанные объекты будут включены в гидратированный результат. В противном случае они не будут, и если вы затем попытаетесь получить к ним доступ, он погасит другой запрос, чтобы получить информацию.

Это просто вопрос, следует ли включить его в результаты.