我试图在一个页面上有2个分页。
查看:
{{!! $items->appends(['page2' => Request::input('page2', 1)])->render() !!}}
但它不起作用,因为使用自定义$ pageName进行分页($ items-> setPageName(' custom_page_parameter'))链接在laravel 5中不起作用。
以下是我在laravel 4中的表现:
Laravel Multiple Pagination in one page
Laravel 5的做法是什么?
答案 0 :(得分:10)
我花了太多时间试图找出如何做到这一点,所以我想我会分享我的发现,以防有像我这样的另一个可怜的灵魂。这适用于5.1 ......
在控制器中:
$newEvents = Events::where('event_date', '>=', Carbon::now()->startOfDay())
->orderBy('event_date')
->paginate(15,['*'], 'newEvents');
$oldEvents = Events::where('event_date', '<', Carbon::now()->startOfDay())
->orderBy('event_date', 'desc')
->paginate(15,['*'], 'oldEvents');
然后在视图中照常继续:`
// some code to display $newEvents
{!! $newEvents->render() !!}
// some code to display $oldEvents
{!! $oldEvents->render() !!}
现在,这并不是在通过$ newEvents进行分页时记住$ oldEvents的页面。对此有何想法?
参考文献:
答案 1 :(得分:7)
$published = Article::paginate(10, ['*'], 'pubArticles');
$unpublished = Article::paginate(10, ['*'], 'unpubArticles');
paginate()方法的第三个参数在URI中使用如下:
laravel /公共/物品?pubArticles = 3
laravel /公共/物品?unpubArticles = 1
答案 2 :(得分:4)
在控制器中:
$produk = Produk::paginate(5, ['*'], 'produk');
$region = Region::paginate(5, ['*'], 'region');
在视图中:
{{$produk->appends(['region' => $region->currentPage()])->links()}}
{{$region->appends(['produk' => $produk->currentPage()])->links()}}
答案 3 :(得分:0)
在构建paginator对象之前尝试使用\Paginator::setPageName('foo');
函数:
\Paginator::setPageName('foo');
$models = Model::paginate(1);
return view('view_foo', compact('models'));
这个问题也许有帮助:Laravel 5 pagination, won't move through pages with custom page name
另请注意,有一个错误atm:https://github.com/laravel/framework/issues/8000