Метод previousPageUrl
Метод previousPageUrl применяется к экземпляру класса
LengthAwarePaginator и возвращает строку с полным
URL-адресом предыдущей страницы пагинации. Если текущая
страница является первой, метод вернёт null.
Метод не принимает никаких параметров и полезен для
ручного построения ссылок на предыдущую страницу.
Синтаксис
<?php
$url = $paginator->previousPageUrl();
?>
Пример
Давайте получим URL предыдущей страницы для списка статей с пагинацией:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index(Request $request)
{
$articles = Article::paginate(10);
$prevUrl = $articles->previousPageUrl();
return view('articles.index', [
'articles' => $articles,
'prevUrl' => $prevUrl
]);
}
}
?>
Результат выполнения кода для текущей страницы 3:
"http://localhost/articles?page=2"
Пример
Давайте проверим, существует ли предыдущая страница, и выведем соответствующую ссылку в Blade-шаблоне:
@if ($articles->currentPage() > 1)
<a href="{{ $articles->previousPageUrl() }}">Назад</a>
@endif
Результат выполнения кода для текущей страницы 1:
(ссылка не выводится, так как первая страница)
Результат выполнения кода для текущей страницы 2:
<a href="http://localhost/articles?page=1">Назад</a>
Пример
Давайте используем метод previousPageUrl для
построения навигации с сохранением всех GET-параметров:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index(Request $request)
{
$query = Article::query();
if ($request->has('category')) {
$query->where('category', $request->category);
}
$articles = $query->paginate(10);
$articles->appends($request->query());
$prevUrl = $articles->previousPageUrl();
return view('articles.index', [
'articles' => $articles,
'prevUrl' => $prevUrl
]);
}
}
?>
Результат выполнения кода при фильтрации по категории и текущей странице 3:
"http://localhost/articles?category=tech&page=2"
Смотрите также
-
метод
nextPageUrl,
который возвращает URL следующей страницы -
метод
currentPage,
который возвращает номер текущей страницы -
метод
hasMorePages,
который проверяет наличие следующих страниц -
метод
onFirstPage,
который проверяет, является ли текущая страница первой