我正在使用显示数据的 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 个条目,最后一页将显示 显示 35 个条目中的 30 到 35 个条目
为什么当可以直接对象成员获得逻辑时,逻辑$shops->firstItem()
和$shops->lastItem()
此外,如果总共 9 条记录,它将在最后一页显示错误 显示总共 9 个条目中的 6 到 10
个例: 向{{ $shops->lastItem() }}
显示{{ $shops->firstItem() }}
{{$shops->total()}}
条目总数
$tableInfo = "Showing $showingStarted to $currentShowing of $total";
使用指定的$showingTotal而不是$currentShowing
你应该试试这个:
请在查询中使用分页,并尝试:
$perPage = 10;
$rsltUsers = UserAdmin::paginate($perPage);
这是因为您的$showingTotal
是一个固定值,根据$page * $perPage
计算得出。
一个快速而肮脏的解决方案是添加一行:
if ($showingTotal > $total) {
$showingTotal = $total;
}
但是,请考虑使用拉拉维尔提供的适当分页。$showingTotal
应该动态更新,而不是简单地根据固定变量计算。