[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Symfony. Репозиторий. Жадная загрузка
Zzepish

$query = $this->getEntityManager()->createQueryBuilder()
->
select('c')
->
from('AppBundle:Category', 'c');

if(!is_null($id)) {
$query = $query->where('c.id in (:ids)')
->
setParameters(['ids' => $id]);
}
$query = $query->getQuery();

return $query->getResult();

Есть такой код в репозитории. Фишка в том, что при переборе через цикл коллекции - создаються дополнительные запросы к бд. т.е. выборка идет в lazymode. Мне нужен eagermode (чтоб сразу все дернуть). Как это реализовать?
Zzepish
Поменял запрос на :
        if(!is_null($id)) {
return $this->findBy(['id' => $id]);
}

return $this->findAll();

результат тот-же(
Oyeme
Не особо понял что тебе нужно, но можешь попробовать

https://doctrine-orm.readthedocs.io/en/late...tch-mode-in-dql


Цитата

Changing the fetch mode during a query is only possible for one-to-one and many-to-one relations.
Zzepish
Oyeme
Т.е. я не могу поменять тип выборки при выборке данных из ндной таблице? Мне нужен join для такой задачи?
Oyeme
Цитата (Zzepish @ 11.01.2017 - 11:28)
Oyeme
Т.е. я не могу поменять тип выборки при выборке данных из ндной таблице? Мне нужен join для такой задачи?
Zzepish
Oyeme
не совсем понял: при чем тут гидратор? Точнее - не совсем понял - какое отношение эта статья имеет к данному вопросу.
Oyeme
Цитата
не совсем понял: при чем тут гидратор? Точнее - не совсем понял - какое отношение эта статья имеет к данному вопросу.


Опиши подробей свою проблему , а то судя по этой фразе,то у тебя тебя массив коллекций которую ты проходишь циклом то что-то другое, не понятно.
Цитата


Фишка в том, что при переборе через цикл коллекции - создаються дополнительные запросы
T1grOK
Внимательно читаем:

Раз: http://doctrine-orm.readthedocs.io/en/late....html#manytoone
Два: http://docs.doctrine-project.org/en/latest...ange-fetch-mode

_____________
Mysql, Postgresql, Redis, Memcached, Unit Testing, CI, Kohana, Yii, Phalcon, Zend Framework, Joomla, Open Cart, Ymaps, VK Api
Zzepish
Oyeme
короче -я разобрался. Фишка была в том, что чуваки сделали связь OneToMany, и оно, автоматически подгружалось
Zzepish
T1grOK
Да я уже понял)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.