lumen - LengthAwarePaginator::resolveCurrentPage() 始终为 1

问题描述 投票:0回答:1

对于流明,我遇到的问题是这始终是

1
,当我转到
/artikel?page=2
时也是如此:

LengthAwarePaginator::resolveCurrentPage();

完整代码:

<?php namespace App\Http\Controllers;

use App\Http\Controllers\Controller;
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Collection;


class ArtikelController extends Controller {

    public function index()
    {
        $dir = '../resources/views/artikel/';

        $files = array_diff(scandir($dir), array('..', '.'));

        $artikel = array();

        foreach($files as $k => $v)
        {
            $id = substr($v,0,1);
            $artikel[$id]['id'] = $id; 
            $artikel[$id]['name'] = substr($v,0,strpos($v,'.blade.php'));
        }

        //Get current page form url e.g. &page=6
        $currentPage = LengthAwarePaginator::resolveCurrentPage();

#dd($currentPage);

        //Create a new Laravel collection from the array data
        $collection = new Collection($artikel);

        //Define how many items we want to be visible in each page
        $perPage = 2;

        //Slice the collection to get the items to display in current page
        $currentPageResults = $collection->slice($currentPage * $perPage, $perPage)->sortByDesc('id')->all();

        //Create our paginator and pass it to the view
        $paginatedResults = new LengthAwarePaginator($currentPageResults, count($collection), $perPage);

        $paginatedResults->setPath('artikel');

        return view('artikel', ['artikel' => $paginatedResults]);
    }

我找不到错误。可能是什么原因? (我也更新到

"laravel/lumen-framework": "5.1.*"

php laravel-5 pagination lumen
1个回答
0
投票

您可以使用这个简单的方法来获取当前页面:

$currentPage = (int) app('request')->get('page', $default = '0');
© www.soinside.com 2019 - 2024. All rights reserved.