Laravel在一个页面上有5个多个分页

时间:2015-03-15 08:16:56

标签: laravel laravel-5

我试图在一个页面上有2个分页。

查看:

{{!! $items->appends(['page2' => Request::input('page2', 1)])->render() !!}}

但它不起作用,因为使用自定义$ pageName进行分页($ items-> setPageName(' custom_page_parameter'))链接在laravel 5中不起作用。

https://stackoverflow.com/questions/29035006/laravel-5-pagination-wont-move-through-pages-with-custom-page-name

以下是我在laravel 4中的表现:

Laravel Multiple Pagination in one page

Laravel 5的做法是什么?

4 个答案:

答案 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()}}   

参考:[Laravel 5] Multi Paginate in Single Page

答案 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