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

时间:2018-05-22 10:01:54

标签: php laravel dynamic-data-display

我正在使用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条

4 个答案:

答案 0 :(得分:1)

你应该试试这个:

请在您的查询中使用paginate,并尝试:

$perPage = 10;

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:1)

为什么可以通过直接对象成员$shops->firstItem()$shops->lastItem()获得如此复杂的逻辑

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

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

答案 3 :(得分:0)

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

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

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

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