laravel实现ajax分页,[ laravel分页 ] laravel5.*带参数分页,自定义分页,获取总数以及列参数用法详解...

laravel可以轻松实现分页,具体可以参考Laravel 的分页功能,但是有些时候我们除非仔细读一次文档,不能快速查看。

一、如何使用laravel分页

有几种方法可以对项目进行分页。最简单的是在查询语句构造器 或Eloquent查询 中使用paginate方法。

$tests = DB::table('tests')->where('id','>',5)->paginate(5);

你对数据库可以进行任何查询操作,取值的时候你用paginate即可,数字代表的是每页个数。目前,Laravel无法有效执行使用groupBy语句的分页操作。如果你需要在一个分页结果集中使用groupBy,建议你查询数据库并手动创建分页器。

@forelse($tests as $test)

{{ $test->id }}

@empty

没有记录

@endforelse

{{ $tests->links() }}

二、带参数分页(即附加参数到分页链接中)

当我们需要附加参数到分页链接中时,使用方法与普通方法相同,只需要把参数数组append到分页中即可:

public function test(Request $request)

{

$condition=$request->all();

// 根据条件查找数据

$test=DB::table('tests')->where('id',$request->id)->paginate(5);

// 把搜索参数回传

return view('test',['tests'=>$tests,'condition'=>$condition]);

}

接下来添加参数到链接中:

{!! $tests->appends($condition)->render() !!}

三、AJAX分页以及将结果转换为JSON

有时候我们使用AJAX分页以及将结果转换为JSON,我们只需要使用toJson即可:

$tests = DB::table('tests')->where('id','>',5)->paginate(5)->toJson();

四、分页器实例方法

有时候我们会需要获取总数据,上一页和下一页,可以参考:

$tests->count() //当前页显示个数

$tests->currentPage() //当前页数

$tests->hasMorePages() //判断是不是还有更多页,比如最后一页她就不显示,不然就显示1

$tests->lastPage() //最后一页,也是总页数(在 simplePaginate 中无法使用)

$tests->nextPageUrl() //下一页的连接

$tests->perPage() //定义的每页个数

$tests->previousPageUrl() //上一页连接

$tests->total() //总数据量,就是总记录数(在 simplePaginate 中无法使用)

$tests->url($page) //$page是你想跳转到的页数,你也可以同时用获取总页数,然后用url定义到最后一页是吧

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值