当前Paginator
正在使用?page=N
,但我想使用其他内容。我怎样才能改为?sida=N
呢?
我看过Illuminate\Pagination\Environment
并且有一个方法(setPageName()
)可以改变它(我假设),但是你如何使用它?
在Paginator
类中,有一种方法可以更改setBaseUrl()
类中的基本URL(Environment
),但是没有设置页面名称的方法。我是否真的需要扩展Paginator
类才能更改页面名称?
答案 0 :(得分:6)
刚刚遇到self.automaticallyAdjustsScrollViewInsets = NO;
CGSize containerSize = self.view.frame.size;
self.webView.frame = CGRectMake(0, 64, containerSize.wdith, containerSize.height - 65);
的同一问题,你可以传递这样的页面名称:
5.1
答案 1 :(得分:5)
就像你说过你可以使用setPageName
方法:
Paginator::setPageName('sida');
您可以将其放在app/start/global.php
。
答案 2 :(得分:1)
那么在laravel 5中对我没有用,在laravel 5中你需要通过覆盖PaginationServiceProvider做更多的额外工作,因为queryName" page"在那里硬编码,所以首先在/ app / providers中创建新的PaginationServiceProvider,这是我的
<?php
namespace App\Providers;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\ServiceProvider as ServiceProvider;
class PaginationServiceProvider extends ServiceProvider {
//boot
public function boot()
{
Paginator::currentPageResolver(function()
{
return $this->app['request']->input('p');
});
}//end boot
public function register()
{
//
}
}
然后在您的控制器中,您可以执行此操作
$users = User::where("status","=",1)
->paginate(5)
->setPageName("p");