РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
67 of 258 menu

Метод toIterable

Метод toIterable класса Query выполняет SQL-запрос и возвращает итерируемый результат Iterable. В отличие от метода getResult, который загружает все строки в память сразу, toIterable читает данные построчно, что позволяет обрабатывать большие объёмы данных без переполнения памяти. Параметры методу передавать не нужно.

Синтаксис

$res = $query->toIterable();

Пример

Давайте создадим запрос через QueryBuilder и проитерируем его результат:

<?php namespace AppController; use AppEntityArticle; use DoctrineORMEntityManagerInterface; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; class ArticleController extends AbstractController { public function index(EntityManagerInterface $em): Response { $query = $em->createQuery( 'SELECT a FROM AppEntityArticle a' ); $res = ''; foreach ($query->toIterable() as $article) { $res .= $article->getTitle() . ' '; } return new Response($res); } } ?>

Результат выполнения кода:

"article 1 article 2 article 3"

Пример

Давайте передадим параметр в запрос и проитерируем только активные записи:

<?php namespace AppController; use AppEntityArticle; use DoctrineORMEntityManagerInterface; use SymfonyBundleFrameworkBundleControllerAbstractController; use SymfonyComponentHttpFoundationResponse; class ArticleController extends AbstractController { public function index(EntityManagerInterface $em): Response { $query = $em->createQuery( 'SELECT a FROM AppEntityArticle a WHERE a.active = :active' ); $query->setParameter('active', true); $res = ''; foreach ($query->toIterable() as $article) { $res .= $article->getTitle() . ' '; } return new Response($res); } } ?>

Результат выполнения кода:

"article 1 article 3"

Смотрите также

  • класс Query,
    который представляет собой Doctrine-запрос
  • метод getResult,
    который возвращает все результаты запроса
  • метод execute,
    который выполняет запрос и возвращает результат
  • метод setParameter,
    который задаёт параметр запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить