【问题标题】:Why Pagination laravel ignores requests - skip, take为什么分页 laravel 忽略请求 - 跳过,采取
【发布时间】:2017-07-20 06:01:01
【问题描述】:

我想使用skiptake,但分页不起作用。为什么它不起作用?

代码:

    $posts = DB::table('posts')
        ->orderBy('id','desc')
        ->skip(9)
        ->take(3)
        ->paginate(3);



    if ($request->ajax()) {
        return ['posts' => view('blog.ajax.index')->with(compact('posts'))->render(),
            'next_page' => $posts->nextPageUrl()
        ];
    }

我肯定需要使用分页

【问题讨论】:

    标签: laravel pagination skip take


    【解决方案1】:

    您不能同时使用分页和跳过。所以你的替代选择是这样的

    $take = 100;
    $skip = 9;
    $currentPage = Request::get('page', 1);
    $poster = DB::table('posts')        
        ->take(100)
        ->skip($skip + (($currentPage - 1) * $take))        
        ->orderBy('id','desc');
    

    分页试试

    @if (Request::has('page') && Request::get('page') > 1)
    <a href="{{ route('some.route', ['page' => Request::get('page') - 1]) }}">Previous page</a>
    @endif
    
    @if (Request::has('page'))
        <a href="{{ route('some.route', ['page' => Request::get('page') + 1]) }}">Next page</a>
    @else
        <a href="{{ route('some.route', ['page' =>2]) }}">Next page</a>
    @endif
    

    【讨论】:

    • 我肯定需要使用分页
    • @ArmanTurebekov 你可以使用分页,我在回答中也提到了分页部分。并在将数据发送到视图之前计算页数,这只是根据您的要求修改的示例。
    • @ArmanTurebekov 如果您对我的回答感到满意,请接受我的回答。
    • 抱歉,我忘了
    • 我们可以在blade.php中实现这一切
    猜你喜欢
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 2012-03-23
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多