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

Метод through

Метод through применяется к экземпляру класса LengthAwarePaginator и позволяет применить callback-функцию к каждому элементу коллекции, возвращая новый экземпляр пагинатора с преобразованными данными. Первым параметром передаётся вызываемая функция, которая получает каждый элемент коллекции и должна вернуть преобразованное значение. Метод полезен, когда необходимо отформатировать или дополнить данные перед выводом, не изменяя исходную коллекцию.

Синтаксис

<?php $paginator->through(callable $callback); ?>

Пример

Давайте преобразуем каждый элемент пагинации, добавив к строковому значению префикс:

<?php use Illuminate\Pagination\LengthAwarePaginator; $items = ['article', 'user', 'category']; $paginator = new LengthAwarePaginator($items, 3, 2); $res = $paginator->through(function ($item) { return 'prefix_' . $item; }); foreach ($res->items() as $item) { echo $item; } ?>

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

"prefix_article" "prefix_user" "prefix_category"

Пример

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

<?php use Illuminate\Pagination\LengthAwarePaginator; $items = [1, 2, 3, 4, 5]; $paginator = new LengthAwarePaginator($items, 5, 3); $res = $paginator->through(function ($item) { return $item * 2; }); foreach ($res->items() as $item) { echo $item; } ?>

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

"2" "4" "6" "8" "10"

Пример

Давайте преобразуем коллекцию объектов, извлекая из каждого только определённое поле:

<?php use Illuminate\Pagination\LengthAwarePaginator; $items = [ (object) ['id' => 1, 'name' => 'article'], (object) ['id' => 2, 'name' => 'user'], (object) ['id' => 3, 'name' => 'category'] ]; $paginator = new LengthAwarePaginator($items, 3, 2); $res = $paginator->through(function ($item) { return $item->name; }); foreach ($res->items() as $item) { echo $item; } ?>

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

"article" "user" "category"

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

  • метод links,
    который выводит ссылки пагинации
  • метод items,
    который возвращает элементы текущей страницы
  • метод withQueryString,
    который сохраняет параметры запроса в ссылках
  • метод paginate,
    который создает экземпляр LengthAwarePaginator
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить