Доктрина: как программно включить активную загрузку?Php

Кемеровские программисты php общаются здесь
Anonymous
Доктрина: как программно включить активную загрузку?

Сообщение Anonymous »

Представьте себе следующую ситуацию. У вас есть книги:

Код: Выделить всё

Book(bookId, authorId, title)
и авторы:

Код: Выделить всё

Author(authorId, name)
и у каждой книги (для простоты) один автор.

По умолчанию все ассоциации указаны настроен в ленивом режиме. Итак, если у меня есть сценарий, когда я впервые загружаю все книги, перебираю коллекцию и получаю автора каждой книги, я выполняю множество запросов к базе данных.

Код: Выделить всё

$books = $this->getDoctrine()
->getRepository('AppBundle:Book')
->findAll();

foreach($books as $b) {
echo $b->getAuthor()->getName();
}
Могу ли я программно попросить Doctrine быстро загрузить авторов для этого конкретного запроса (а не глобально через конфигурацию)?< /p>

Связано: В Doctrine 2 можно ли изменить режим выборки (энергичный/ленивый и т. д.) во время выполнения?

Связано: http://doctrine-orm.readthedocs.io/proj ... l#list-of- ошибки

Подробнее здесь: https://stackoverflow.com/questions/381 ... mmatically

Вернуться в «Php»