美文网首页
Laravel 限制条数后再分页

Laravel 限制条数后再分页

作者: 闲睡猫 | 来源:发表于2019-11-11 17:53 被阅读0次

laravel 自带开箱即用的分页,使用起来如丝般顺滑。默认情况下是对所有记录进行分页,现在我们有这样的需求:限制用户只能看到前 30 页。第一想法就是用 limit 限制条数后再调用分页,如:

$per_page = 15; // 每页条数
$limit_page = 30; // 限制总页数
$data = Article::orderBy('id', 'desc')->limit($per_page * $limit_page)->paginate($per_page);

此种写法并不能生效,因为 paginate 方法中内置的 limit 会替换掉我们的 limit

虽然我们可以根据文档,手动调用分页的相关方法,自己撸一个分页。但这种实现方式太繁琐,相当于造轮子。我们可以切换一下思维来解决:

  • 取出要展示的条数的最小 id

  • 在总记录中设置 id 大于上一条件得到的最小 id

即,用 where 替换 limit 限制总条数

$last_id = Article::orderBy('id', 'desc')
    ->limit($per_page * $limit_page)
    ->pluck('id')
    ->sort()
    ->first();
$data = Article::orderBy('id', 'desc')
    ->where('id', '>', $last_id)
    ->paginate($per_page);

原文 https://www.itshutong.com/354.html

相关文章

  • Laravel 限制条数后再分页

    laravel 自带开箱即用的分页,使用起来如丝般顺滑。默认情况下是对所有记录进行分页,现在我们有这样的需求:限制...

  • Laravel限制条数再分页(使用LengthAwarePagi

    项目上比较常用,经常需要你限制返回的总数,比方说让你只显示最新的48条数据并进行分页,此时使用limit(48)再...

  • laravel 分页 使用layui样式

    laravel分页自带的事bootsharp的分页样式个人更喜欢layui的分页样式,下面介绍如何在laravel...

  • 上拉加载更多

    上拉刷新, 由服务器的参数决定, 通常会返回给一个每页限制多少条数据的参数limit, 和一个分页的参数, 分页...

  • Laravel 自定义分页类

    Laravel --实战篇 (自定义分页类) 前言 : Laravel框架中有封装好的分页类paginate方法,...

  • 数组或者对象分页

    有些数据需要进行手动分页,laravel自带的分页无法实现,可以用array_slice或者laravel集合的方...

  • laravel orm的坑

    坑:1.relationship分页问题laravel的relationship分页,在使用动态属性时,分页错误。...

  • laravel 自带分页与 groupBy共用

    对于laravel来说有很多自带功能,其中laravel的分页就很美观,但是在sql语句中使用groupBy和分页...

  • laravel 基础教程 —— 分页

    分页 简介 在其他框架中,分页通常是比较痛苦的。laravel 使其变的非常简单。laravel 可以根据当前页面...

  • Spring Boot简明教程--Jpa分页

    分页参数 现在的分页形式有两种: PC端分页,参数为:页码 page和每页的条数 size 小程序、app端分页,...

网友评论

      本文标题:Laravel 限制条数后再分页

      本文链接:https://www.haomeiwen.com/subject/nxtxictx.html