Метод nextPageUrl
Метод nextPageUrl применяется к экземпляру класса LengthAwarePaginator
и возвращает строку с полным URL-адресом следующей страницы.
Метод не принимает параметров. Если текущая страница является последней,
возвращается null. Это полезно для построения ссылок
на следующую страницу в интерфейсе пользователя.
Синтаксис
<?php
$url = $paginator->nextPageUrl();
?>
Пример
Получим URL следующей страницы для списка статей с пагинацией:
<?php
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::paginate(10);
$nextPageUrl = $articles->nextPageUrl();
echo $nextPageUrl;
}
}
?>
Результат выполнения кода при нахождении на первой странице:
"http://localhost/articles?page=2"
Пример
Проверим наличие следующей страницы и выведем ссылку на неё:
<?php
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::paginate(10);
if ($articles->hasMorePages()) {
$nextPageUrl = $articles->nextPageUrl();
echo "Next page: " . $nextPageUrl;
} else {
echo "This is the last page";
}
}
}
?>
Результат выполнения кода, если есть следующая страница:
"Next page: http://localhost/articles?page=2"
Пример
Используем метод nextPageUrl в Blade-шаблоне для создания
ссылки на следующую страницу:
<div>
@if ($articles->hasMorePages())
<a href="{{ $articles->nextPageUrl() }}">Next page</a>
@else
<span>No more pages</span>
@endif
</div>
Пример
Получим URL следующей страницы с сохранением дополнительных параметров запроса:
<?php
namespace App\Http\Controllers;
use App\Models\Article;
use Illuminate\Http\Request;
class ArticleController extends Controller
{
public function index(Request $request)
{
$articles = Article::where('status', 'published')
->paginate(10)
->appends(['sort' => 'desc']);
$nextPageUrl = $articles->nextPageUrl();
echo $nextPageUrl;
}
}
?>
Результат выполнения кода:
"http://localhost/articles?page=2&sort=desc"
Смотрите также
-
метод
previousPageUrl,
который возвращает URL предыдущей страницы -
метод
url,
который возвращает URL для указанной страницы -
метод
hasMorePages,
который проверяет наличие следующей страницы -
метод
withPath,
который устанавливает базовый путь для ссылок пагинации