按特定页码获取分页数据

Posted

技术标签:

【中文标题】按特定页码获取分页数据【英文标题】:get pagination data by a specific page number 【发布时间】:2019-09-13 17:29:51 【问题描述】:

我想按页码获取数据, 正常使用这段代码的时候

$jobs = Jobs::paginate(10);

laravel 通过 GET "page" 参数获取数据,该参数在 URL 中定义, 如果我们的 URL 是 http://www.example.com/job?page=2 laravel 返回第 2 页的数据 我想在不使用 URL 中的 page 参数的情况下执行此操作

我想让你给我介绍一下这样的东西

$jobs = Jobs::paginate(10,[
'page'=>2
]);

【问题讨论】:

【参考方案1】:

Laravel 分页器自动检查查询字符串中 page 的值,并使用它对结果进行分页。结果还会自动生成下一个和上一个链接,帮助您直接添加它们

默认的分页方法采用以下参数。

public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null);

所以你这样使用

$jobs = Jobs::paginate(5, ['*'], 'page', $pageNumber);

默认约定是

example.com/job?page=2 
example.com/job?page=3

如果你使用$jobs->links()来生成导航按钮

【讨论】:

【参考方案2】:

paginate 方法的定义是

public function paginate($perPage = null, $columns = ['*'], $pageName = 'page', $page = null)
    
.......
.......
.......

所以您可以根据自己的方便轻松更改它

$jobs = Jobs::paginate(10,['*'],'page',2);

更多详情可以查看Laravel Api

【讨论】:

@Mahdi*** :请接受 Sethu 的回答,有点相似,但他在我回答前 20 秒回答了。他的回答比我的回答更值得。

以上是关于按特定页码获取分页数据的主要内容,如果未能解决你的问题,请参考以下文章

page分页问题,根据页码获取对应页面的数据,接口调用

关于vue+Element-ui项目分页刷新不停留在当前页码bug解决

Django自定义分页器

C#按LastID进行分页——与lambda形成链式

asp.net webforms中Jquery Datatable中的分页

Laravel 以编程方式获取特定页面