Показаны с 1 по 10 из 35 записей, не работающих в laravel

Я работаю с Laravel 5.6, показывая данные, но он не работает идеально.

Этот код отображает меня на первой странице Отображение с 0 по 10 из 35 и отображение последней страницы Отображение с 30 по 40 из 35

$page    = $request->has('page') ? $request->get('page') : 1;
$total   = UserAdmin::count();
$perPage = 10;
$showingTotal  = $page * $perPage;

$currentShowing = $showingTotal>$total ? $total : $showingTotal;
$showingStarted = $showingTotal - $perPage;
$tableInfo = "Showing $showingStarted to $showingTotal of $total";

Я хочу, чтобы на первой странице отображались от 1 до 10 из 35 записей, и будет отображаться последняя страница. От 30 до 35 из 35 записей.

0

Решение

$tableInfo = "Showing $showingStarted to $currentShowing of $total";

Использовать указанный $ displayTotal вместо $ currentShowing

1

Другие решения

Вы должны попробовать это:

Пожалуйста, используйте paginate в вашем запросе и попробуйте:

$perPage = 10;

$rsltUsers   = UserAdmin::paginate($perPage);
1

Это потому что ваш $showingTotal является фиксированным значением, рассчитанным из $page * $perPage,

Быстрое и грязное решение было бы добавить строку:

if ($showingTotal > $total) {
$showingTotal = $total;
}

Но, пожалуйста, подумайте о том, чтобы использовать правильный пагинат, предлагаемый в Laravel. $showingTotal должен динамически обновляться, а не просто рассчитываться из фиксированных переменных.

0
По вопросам рекламы [email protected]