php - Laravel 自定义分页

标签 php laravel-5 laravel-5.2 laravel-pagination

在让我的分页在 Laravel 5.2 中工作时出现问题我使用 foreach 生成一个对象列表,其中每个对象都有一定的排名。 (竞争)

我使用的第一个查询是这个:

$goedeDoelen = GoedDoel::orderBy('punten', 'desc')->simplePaginate(5);

这工作得很好,唯一的问题是我的排名会重置我将转到不同页面的所有内容。

示例:第 1 页具有排名 1 - 5 的对象,第 2 页应具有排名 6-10。通过使用第一个 Paginate 方法,第二个页面将再次具有从 1 开始的对象。

我试图通过将排名作为额外属性添加到我的 Eloquent 集合中来解决这个问题。

    $ranking = GoedDoel::orderBy('punten', 'desc')->get();
    foreach($ranking as $key => $item) {
        $item->ranking = $key+1;
    }

之后,我尝试在我更新的集合上使用 ->simplePaginate()。这给出了一个错误。

我已经创建了一个自定义分页器。

$goedeDoelen = new Paginator($ranking, 5);

这没有按预期工作。当我转到第二个页面时,URL 乱七八糟并转到另一个 View 。

我怎样才能确保分页器知道我当前的 URL 是什么,它必须应用 ?page=2

最佳答案

您需要使用 paginate()方法。

$goedeDoelen = GoedDoel::orderBy('punten', 'desc')->paginate(5);

{!! $goedeDoelen->links() !!}

关于php - Laravel 自定义分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37402408/

相关文章:

javascript - 如何从 php 服务器打印到 POS 打印机

php - 关于关系的 laravel 订单查询

php - 有没有办法在 Laravel 5 验证规则中为输入名称起别名?

php - Laravel - 导致 404 错误的事件

Laravel 5.2 whereHas 列不明确

php - 在 PHP/SQL 查询中过滤价格范围的正确代码

php - 我想从 “Entity” 调用 Azure API 获取域详细信息

php - Laravel 5.2 - 仅使用电子邮件登录

PHP 通过引用传递数组

laravel-5 - Laravel 排队的作业即使有延迟也会立即处理