Атрибут total
Атрибут total класса LengthAwarePaginator возвращает общее количество записей в выборке без учёта пагинации. Этот атрибут доступен только при использовании метода paginate, который создаёт экземпляр LengthAwarePaginator. В отличие от атрибута perPage, который показывает количество элементов на странице, total показывает полное количество элементов.
Синтаксис
<?php
$total = $paginator->total;
?>
Пример
Давайте получим общее количество статей с помощью атрибута total после пагинации:
<?php
namespace AppHttpControllers;
use AppModelsArticle;
use IlluminateHttpRequest;
class ArticleController extends Controller
{
public function index()
{
$articles = Article::paginate(5);
$res = $articles->total;
echo "Total records: " . $res;
}
}
?>
Результат выполнения кода:
"Total records: 42"
Пример
Давайте используем атрибут total вместе с currentPage для отображения информации о пагинации в представлении:
<?php
namespace AppHttpControllers;
use AppModelsUser;
use IlluminateHttpRequest;
class UserController extends Controller
{
public function index()
{
$users = User::where('active', true)->paginate(10);
$currentPage = $users->currentPage();
$res = $users->total;
echo "Page {$currentPage} of " . ceil($res / 10);
}
}
?>
Результат выполнения кода:
"Page 3 of 15"
Смотрите также
-
метод
paginate,
который выполняет пагинацию и возвращает LengthAwarePaginator -
атрибут
perPage,
который показывает количество записей на странице -
метод
currentPage,
который возвращает номер текущей страницы -
метод
lastPage,
который возвращает номер последней страницы