Laravel 5.1 指定当前页面进行分页

2021-12-18 00:00:00 php pagination laravel-5.1

为此工作了太久,但没有结果.我试过了.

Been working on this for far too long with no results. I have tried.

`IlluminatePaginationPaginator::setCurrentPage($current_page);`

返回调用受保护的方法IlluminatePaginationPaginator::setCurrentPage()

Paginator::setCurrentPage($current_page);

返回调用受保护的方法IlluminatePaginationPaginator::setCurrentPage()

DB::getPaginator()->setCurrentPage($current_page);

返回 call_user_func_array() 期望参数 1 是一个有效的回调,类 'IlluminateDatabaseMySqlConnection' 没有方法 'getPaginator'

$tmp = new Post( );$tmp->getConnection()->setCurrentPage($current_page);

返回 call_user_func_array() 期望参数 1 是一个有效的回调,类 'IlluminateDatabaseMySqlConnection' 没有方法 'getPaginator'

如何指定页面?我需要手动指定.

How can I specify the page? I need to specify it manually.

我曾希望它像 $model->find()->paginate($per_page, $page)

推荐答案

假设你有 $users 在你的 UserController 中进行分页,你可能会这样做:

Suppose you have $users to paginate in your UserController, you might do:

public function index()
{
    $currentPage = 3; // You can set this to any page you want to paginate to

    // Make sure that you call the static method currentPageResolver()
    // before querying users
    Paginator::currentPageResolver(function () use ($currentPage) {
        return $currentPage;
    });

    $users = AppUser::paginate(5);

    return view('user.index', compact('users'));
}

我相信这适用于 Laravel 5.0 及更高版本.必须检查一下.

I believe this applies to Laravel 5.0 and above. Have to check on that.

相关文章