显示 35 个条目中的 1 到 10 个在 laravel 中不起作用

Showing 1 to 10 of 35 entries not working in 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";

我想在第一页显示 35 个条目中的 1 到 10 个,最后一页将显示显示 35 个条目中的 30 到 35 个

你应该试试这个:

请在您的查询中使用分页并尝试:

$perPage = 10;

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

这是因为您的 $showingTotal 是一个固定值,由 $page * $perPage 计算得出。

一个快速而肮脏的解决方案是添加一行:

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

但是请考虑使用 Laravel 中提供的正确分页。 $showingTotal 应该是动态更新的,而不是简单地从固定变量计算。

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

使用指定的 $showingTotal 而不是 $currentShowing

当直接对象成员$shops->firstItem()$shops->lastItem()

可以获得时,为什么逻辑如此复杂

此外,如果总共有 9 条记录,最后一页将显示错误显示总共 9 条记录中的 6 到 10 条

示例: 显示 {{ $shops->firstItem() }}{{ $shops->lastItem() }}{{$shops->total()}} 个条目