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

Метод setFirstResult

Метод setFirstResult класса Query задаёт смещение - номер первой строки выборки, с которой начнётся результат. Первым параметром передаётся целое число: 0 означает начало с первой строки, 5 - пропустить первые пять строк и начать с шестой. Чаще всего метод применяется вместе с setMaxResults для организации постраничной навигации.

Синтаксис

$query->setFirstResult(int $firstResult): static

Пример

Давайте создадим QueryBuilder для сущности Article и получим записи, начиная с третьей:

<?php namespace AppRepository; use AppEntityArticle; use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository; use DoctrinePersistenceManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findFromThird(): array { $qb = $this->createQueryBuilder('a'); $query = $qb->getQuery(); $query->setFirstResult(2); return $query->getResult(); } } ?>

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

["article 3", "article 4", "article 5"]

Пример

Давайте совместим setFirstResult и setMaxResults, чтобы получить вторую страницу выборки по три записи:

<?php namespace AppRepository; use AppEntityArticle; use DoctrineBundleDoctrineBundleRepositoryServiceEntityRepository; use DoctrinePersistenceManagerRegistry; class ArticleRepository extends ServiceEntityRepository { public function __construct(ManagerRegistry $registry) { parent::__construct($registry, Article::class); } public function findSecondPage(int $page = 2, int $perPage = 3): array { $qb = $this->createQueryBuilder('a'); $qb->orderBy('a.id', 'ASC'); $query = $qb->getQuery(); $query->setFirstResult(($page - 1) * $perPage); $query->setMaxResults($perPage); return $query->getResult(); } } ?>

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

["article 4", "article 5", "article 6"]

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

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