html分页实现w3c,分页_w3cschool

在其他的框架中,实现分页是令人感到苦恼的事,但是 Laravel 令它实现起来变得轻松。 Laravel 可以产生基于当前页面的智能「范围」链接,所产生的 HTML 兼容 Bootstrap CSS 框架.

有几种方法来分页对象。最简单的是在搜索构建器使用 paginate 方法或 Eloquent 模型。

对数据库结果分页$users = DB::table('users')->paginate(15);

注意: 目前 Laravel 使用 groupBy 来做分页操作无法有效率的执行,如果您需要使用 groupBy 来分页数据集,建议您手动查找数据库,并使用 Paginator::make。

手动创建分页实例

有时你也许希望手动创建发呢也实例,传递一个数组作为参数。你可以根据需求创建 Illuminate\Pagination\Paginator 或者 Illuminate\Pagination\LengthAwarePaginator 实例。

对 Eloquent 模型分页

您也可以对 Eloquent 模型分页:$allUsers = User::paginate(15);$someUsers = User::where('votes', '>', 100)->paginate(15);

发送给 paginate 方法的参数是您希望每页要显示的对象选项数目,只要您取得查找结果后,您可以在视图中显示,并使用 render 方法去建立分页链接:

<?php  echo $user->name; ?>

<?php  echo $users->render(); ?>

这就是所有建立分页系统的步骤了!您会注意到我们还没有告知 Laravel 我们目前的页面是哪一页,这个信息 Laravel 会自动帮您做好。

您也可以通过以下方法获得额外的分页信息:currentPage

lastPage

perPage

hasMorePages

url

nextPageUrl

firstItem

lastItem

total

count

「简单分页」

如果您只是要在您的分页视图显示「上一页」和「下一页」链接,您有个选项 simplePaginate 方法来执行更高效率的搜索。当您不需要精准的显示页码在视图上时,这个方法在较大的数据集非常有用:$someUsers = User::where('votes', '>', 100)->simplePaginate(15);

手动建立分页

有的时候您可能会想要从数组中对象手动建立分页实体, 您可以根据您的需要通过 Illuminate\Pagination\Paginator 或 Illuminate\Pagination\LengthAwarePaginator 实体来建立。

自定义分页 URL

您还可以透过 setPath 方法自定义使用的 URL:$users = User::paginate();$users->setPath('custom/url');

上面的例子将建立 URL,类似以下内容: http://example.com/custom/url?page=2

您可以使用 appends 方法增加搜索字串到分页链接中:<?php  echo $users->appends(['sort' => 'votes'])->render(); ?>

这样会产生类似下列的链接:http://example.com/something?page=2&sort=votes

如果您想要将「哈希片段」加到分页的 URL,您可以使用 fragment 方法:<?php  echo $users->fragment('foo')->render(); ?>

此方法调用后将产生 URL,看起来像这样:http://example.com/something?page=2#foo

Paginator 类实现 Illuminate\Contracts\Support\JsonableInterface 接口的 toJson 方法。由路由返回的值,您可能将 Paginator 实体传换成 JSON。JSON 表单的实体会包含一些「元」信息,例如 total、current_page、last_page。该实体数据将可通过在

JSON 数组中 data 的键取得。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值