【问题标题】:Lumen - pagination links() method not workingLumen - 分页链接()方法不起作用
【发布时间】:2023-03-07 08:44:01
【问题描述】:

我正在尝试在 Lumen 中创建分页结果集。我没有使用数据库集合,而是数组集合。

我已经设法让结果显示出来,但是我在让分页链接()方法工作时遇到了问题。这是我所拥有的:

PHP:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Pagination\LengthAwarePaginator;

class AppController extends Controller
{
    public function index(Request $request)
    {
        $items = [
            'item1',
            'item2',
            'item3',
            'item4',
        ];

        $collection = collect($items);

        $currentPage = LengthAwarePaginator::resolveCurrentPage();
        $perPage = 2;
        $offset = ($currentPage * $perPage) - $perPage;

        $currentPageResults = $collection->slice($offset, $perPage)->all();

        $paginatedItems = new LengthAwarePaginator($currentPageResults, count($collection), $perPage);

        $paginatedItems->setPath($request->url());

        return view('index', [
            'results' => $paginatedItems,
        ]);
    }
}

查看:

<ul>
    @foreach ($results as $result)
        <li>{{ $result }}</li>
    @endforeach
</ul>

<div>
    {{ $results->links() }}
</div>

我得到的错误是:

call_user_func() 期望参数 1 是一个有效的回调,没有数组 或给定的字符串

如果我删除 $results-&gt;links(),我不会收到错误消息。

当我dd($paginationItems) 时,我确实得到了一个有效的LengthAwarePaginator 对象:

【问题讨论】:

    标签: php laravel lumen


    【解决方案1】:

    我找到了答案:

    bootstrap/app.php内有一行代码默认注释掉:

    // $app-&gt;withEloquent();

    这需要取消注释才能使分页链接()方法起作用。

    【讨论】:

    • 太棒了!问题解决了!谢谢!
    猜你喜欢
    • 2014-12-09
    • 2018-06-25
    • 1970-01-01
    • 2014-02-03
    • 2021-01-11
    • 2014-04-10
    • 2013-09-06
    相关资源
    最近更新 更多