Как в Doctrine DBAL я могу «передавать» запрос, избегая загрузки всего результата, заполняющего всю память? ⇐ Php
Как в Doctrine DBAL я могу «передавать» запрос, избегая загрузки всего результата, заполняющего всю память?
У меня очень большая таблица, и я не хочу получать весь результат. Я хочу получать по одному результату за раз и воспользоваться преимуществами PHP-генераторов. Я не могу найти много информации о получении результата во время, и в большинстве примеров используются старые и устаревшие методы.
Правильен ли следующий пример или я все равно получаю все записи с помощью executeQuery?
$query = ($qb = $this->connection->createQueryBuilder()) ->выбрать('*') ->from('пользователи') ->where($qb->expr()->eq('включено', ':включено')) ->setParameter('включено', правда) ; $stmt = $this->connection->executeQuery($query->getSQL(), $query->getParameters()); while ($row = $stmt->fetchAssociative()) { выход $строка; }
У меня очень большая таблица, и я не хочу получать весь результат. Я хочу получать по одному результату за раз и воспользоваться преимуществами PHP-генераторов. Я не могу найти много информации о получении результата во время, и в большинстве примеров используются старые и устаревшие методы.
Правильен ли следующий пример или я все равно получаю все записи с помощью executeQuery?
$query = ($qb = $this->connection->createQueryBuilder()) ->выбрать('*') ->from('пользователи') ->where($qb->expr()->eq('включено', ':включено')) ->setParameter('включено', правда) ; $stmt = $this->connection->executeQuery($query->getSQL(), $query->getParameters()); while ($row = $stmt->fetchAssociative()) { выход $строка; }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение