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

Метод offset

Метод offset применяется к запросу Eloquent или Query Builder для указания смещения выборки. Он позволяет пропустить определённое количество записей и начать выдачу с нужной позиции. В качестве параметра метод принимает целое положительное число, указывающее, сколько записей необходимо пропустить. Метод часто используется вместе с методом limit для реализации пагинации.

Синтаксис

<?php Model::offset($value)->limit($value); ?>

Пример 1

Давайте получим список статей, пропустив первые 5 записей:

<?php use App\Models\Article; $res = Article::offset(5)->get(); foreach ($res as $article) { echo $article->title; } ?>

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

"article 6" "article 7" "article 8"

Пример 2

Давайте получим первые 10 статей, начиная с 6-й записи (пропустим 5 записей и возьмём 10):

<?php use App\Models\Article; $res = Article::offset(5)->limit(10)->get(); foreach ($res as $article) { echo $article->title; } ?>

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

"article 6" "article 7" "article 8" "article 9" "article 10"

Пример 3

Давайте реализуем пагинацию с помощью методов offset и limit, где пользователь находится на второй странице, и на каждой странице показывается по 5 записей:

<?php use App\Models\Article; $page = 2; $perPage = 5; $offset = ($page - 1) * $perPage; $res = Article::offset($offset) ->limit($perPage) ->orderBy('id') ->get(); foreach ($res as $article) { echo $article->title; } ?>

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

"article 6" "article 7" "article 8" "article 9" "article 10"

Пример 4

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

<?php use App\Models\Article; $res = Article::where('status', 'published') ->orderBy('created_at', 'desc') ->offset(3) ->limit(4) ->get(); foreach ($res as $article) { echo $article->title; } ?>

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

"article 4" "article 3" "article 2" "article 1"

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

  • метод limit,
    который ограничивает количество возвращаемых записей
  • метод take,
    который является синонимом метода limit
  • метод skip,
    который является синонимом метода offset
  • метод get,
    который выполняет запрос и возвращает коллекцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить