问题描述
为此工作了太久,但没有结果.我试过了.
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.