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

Метод setMaxResults

Метод setMaxResults класса Query ограничивает количество строк, которое вернёт SQL-запрос. Первым параметром передаётся целое число - максимальное количество записей. Метод возвращает сам объект Query, поэтому его можно вызывать в цепочке с другими методами.

Синтаксис

$query->setMaxResults(int $maxResults): self

Пример

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

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(EntityManagerInterface $em): Response { $query = $em->createQuery('SELECT a FROM App\Entity\Article a'); $query->setMaxResults(2); $res = $query->getResult(); return new Response(implode(', ', array_map( fn(Article $article) => $article->getTitle(), $res ))); } } ?>

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

"article 1, article 2"

Пример

Давайте применим метод setMaxResults для постраничного вывода вместе с методом setFirstResult:

<?php namespace App\Controller; use App\Entity\Article; use Doctrine\ORM\EntityManagerInterface; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Symfony\Component\HttpFoundation\Response; class ArticleController extends AbstractController { public function index(EntityManagerInterface $em): Response { $page = 2; $perPage = 3; $query = $em->createQuery('SELECT a FROM App\Entity\Article a ORDER BY a.id ASC'); $query->setFirstResult(($page - 1) * $perPage); $query->setMaxResults($perPage); $res = $query->getResult(); return new Response(implode(', ', array_map( fn(Article $article) => $article->getTitle(), $res ))); } } ?>

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

"article 4, article 5, article 6"

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

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