我在laravel的分页上遇到了问题。
之前没有问题。
$users = user::getAllUsers()->paginate(10);
但我需要更改代码,因此唯一的方法是使用自定义分页
use Illuminate\Pagination\Paginator;
use Illuminate\Support\Facades\Input;
public function companies()
{
$users = user::getAllUsers()->get(//some codes here);
$paginated = = new Paginator($users , 2);
$paginated ->setPath('/users/view');
return view('users.view', compact('paginated'));
}
第二个代码的问题是,当我按下一个按钮重定向到page = 2时,视图中的值不会改变。网址正在改变。
不确定我在这里遗失了什么。请帮忙
答案 0 :(得分:1)
您需要将其作为第三个参数传递
$paginated = new Paginator($users , 2, $request->get('page'));
参数的顺序为:items,perPage,currentPage
答案 1 :(得分:1)
使用 LengthAwarePaginator
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Http\Request;
public function companies(Request $request){
...
$items_per_page = 2;
$paginated = new LengthAwarePaginator(
$users->forPage($request->page ?: 1, $items_per_page),
$users->count(),
$items_per_page
);
...
}