Laravel分页per_page / limit不会添加到nextPageUrl

时间:2015-06-30 10:49:58

标签: laravel

使用Model::paginate($per_page)时,会返回包含per_page变量的分页。问题是,当您获得nextPageUrl()时,它只提供?page=x个网址变量,因此如果您想在网址中指定per_page,例如

  

https://example.com/api/users?page=1&per_page=100

LengthAwarePaginator没有添加到下一个/上一个网址。

我是否遗漏了某些内容或是否需要手动将其附加到网址?

1 个答案:

答案 0 :(得分:6)

如果你想将它添加到每个网址,你的paginator中有一个允许你添加查询字符串的方法。

Laravel 5.4+:

//fetch the get parameter per_page, if doesn't exists defaults it to 100
$per_page = \Request::get('per_page') ?: 100;
$users = App\User::paginate($per_page);
$users->appends(['per_page' => $per_page])
return view('users', ['users' => $users]);

旧解决方案5.3:

//fetch the get parameter per_page, if doesn't exists defaults it to 100
$per_page = \Request::get('per_page') ?: 100;
$users = User::paginate($per_page);
$users->addQuery('per_page', $per_page);
return view('users', ['users' => $users]);