Метод hasMorePages
Метод hasMorePages применяется к экземпляру класса LengthAwarePaginator
и возвращает логическое значение true, если существует следующая страница,
или false, если текущая страница является последней.
Метод не принимает параметров и используется в основном для управления
отображением элементов навигации и кнопок перехода.
Синтаксис
<?php
$paginator->hasMorePages();
?>
Пример
Давайте проверим, есть ли следующая страница при пагинации статей:
<?php
use AppModelsArticle;
use IlluminatePaginationLengthAwarePaginator;
$articles = Article::paginate(10);
if ($articles->hasMorePages()) {
echo "There is a next page";
} else {
echo "This is the last page";
}
?>
Результат выполнения кода:
"There is a next page"
Пример
Используем метод для отображения ссылки на следующую страницу только при её наличии:
@if ($articles->hasMorePages())
<a href="{{ $articles->nextPageUrl() }}">Next →</a>
@endif
Результат выполнения кода:
<a href="http://example.com/articles?page=2">Next →</a>
Пример
Используем метод для управления отображением панели навигации:
<div class="pagination">
@if ($posts->previousPageUrl())
<a href="{{ $posts->previousPageUrl() }}">← Previous</a>
@endif
<span>Page {{ $posts->currentPage() }} of {{ $posts->lastPage() }}</span>
@if ($posts->hasMorePages())
<a href="{{ $posts->nextPageUrl() }}">Next →</a>
@endif
</div>
Результат выполнения кода:
<div class="pagination">
<a href="http://example.com/posts?page=1">← Previous</a>
<span>Page 2 of 5</span>
<a href="http://example.com/posts?page=3">Next →</a>
</div>
Пример
Проверяем наличие следующей страницы в контроллере для выполнения дополнительной логики:
<?php
namespace AppHttpControllers;
use AppModelsProduct;
use IlluminateHttpRequest;
class ProductController extends Controller
{
public function index(Request $request)
{
$products = Product::paginate(15);
$data = [
'products' => $products,
'show_load_more' => $products->hasMorePages()
];
return view('products.index', $data);
}
}
?>
Смотрите также
-
метод
nextPageUrl,
который возвращает URL следующей страницы -
метод
previousPageUrl,
который возвращает URL предыдущей страницы -
метод
onFirstPage,
который проверяет нахождение на первой странице -
метод
onLastPage,
который проверяет нахождение на последней странице