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

Метод withPath

Метод withPath применяется к экземпляру класса LengthAwarePaginator и позволяет изменить базовый путь (URL) для всех ссылок пагинации. Первым параметром передаётся новый путь в виде строки. Метод возвращает тот же объект пагинатора с обновлённым путём. Это полезно, когда вы хотите переопределить стандартный URL, который используется для построения ссылок на страницы.

Синтаксис

<?php $paginator->withPath($path); ?>

Пример

Давайте создадим пагинатор и изменим его базовый путь с помощью метода withPath:

<?php use AppModelsArticle; use IlluminatePaginationLengthAwarePaginator; $articles = Article::all(); $perPage = 10; $currentPage = request()->query('page', 1); $offset = ($currentPage - 1) * $perPage; $items = $articles->slice($offset, $perPage)->values(); $total = $articles->count(); $paginator = new LengthAwarePaginator( $items, $total, $perPage, $currentPage ); $paginator->withPath('/articles'); $res = $paginator->url(2); echo $res; ?>

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

"/articles?page=2"

Пример

Давайте изменим путь для пагинатора, который получен из запроса Eloquent с использованием метода paginate:

<?php use AppModelsArticle; $articles = Article::where('status', 'published') ->paginate(15); $articles->withPath('/api/v1/articles'); $res = [ 'page_1' => $articles->url(1), 'page_3' => $articles->url(3), 'last_page' => $articles->url($articles->lastPage()), ]; echo json_encode($res); ?>

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

{"page_1":"\/api\/v1\/articles?page=1","page_3":"\/api\/v1\/articles?page=3","last_page":"\/api\/v1\/articles?page=5"}

Пример

Метод withPath также можно использовать в цепочке вызовов с другими методами пагинации:

<?php use AppModelsArticle; $articles = Article::where('category', 'tech') ->paginate(20) ->withPath('/tech-articles') ->appends(['sort' => 'desc']); $res = [ 'url' => $articles->url(2), 'has_pages' => $articles->hasPages(), ]; echo json_encode($res); ?>

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

{"url":"\/tech-articles?page=2&sort=desc","has_pages":true}

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

  • метод url,
    который генерирует URL для определённой страницы
  • метод withQueryString,
    который сохраняет все параметры запроса в ссылках пагинации
  • метод appends,
    который добавляет дополнительные параметры к ссылкам пагинации
  • метод links,
    который выводит HTML-разметку со ссылками пагинации
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить