Laravel自定义分页不起作用

时间:2017-10-26 10:24:19

标签: php laravel pagination

我在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时,视图中的值不会改变。网址正在改变。

不确定我在这里遗失了什么。请帮忙

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
    );
    ...
}