后端数据(Eloquent 模型)分页

事先建立好Eloquent 模型和Controller 还有 前台的View。可以参考我之前的文章:Laravel建站03--建立前台文章列表和文章详情

在controller 里获取分页数据:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use App\Article; use Illuminate\Support\Facades\Cache;
use Carbon\Carbon; class ArticleController extends Controller
{
public function index()
{
//方式一:可以用DB facade 进行接近原生SQL方式查询,也可以完全用SQL语句,如:$users = DB::select('select * from users where active = 1');。不过我得这样不好
// $articles = DB::table('articles')
// ->select('id', 'body', 'title')
// ->orderBy('id', 'desc')
// ->paginate(5); //分页的关键,这里是可以显示页码的分页,也可以用简单分页,只显示上一页,下一页。数据量大时,简单分页会更快
//方式二:模型直接分页
//$articles = Article::paginate(5);
//方式三:模型简单分页
//$articles = Article::simplePaginate(5);
//在方式二的基础上增加排序规则
//$articles = Article::orderBy('id', 'desc')->paginate(5);
//在方式三的基础上增加查询的列
$articles = Article::select('id', 'title')->orderBy('id', 'desc')->paginate(5);
return view('welcome', ['articles' => $articles]);
}
}

前台显示分页结果

  • 在Laravel中显示分页HTML还是很简单的。只用一句话就可以搞定:
{{ $articles->links() }}
  • 如果想在前台分页连接中附加参数,可以在controller绑定view中增加参数:
return view('welcome', ['articles' => $articles, 'params1' => 'a', 'params2'=>'b']);

  然后把前台的代码修改为:

{{ $articles->appends(['p1' => $params1, 'p2' => $params2])->links() }}

  这样前台分页的地址就从?page=2 变成?p1=a&p2=b&page=2 了。

  • 自定义分页HTML

  想自定义分页HTML,可以修改Laravel分页视图:vendor/laravel/framework/src/Illuminate/Pagination/resources/views/ 文件夹下的视图文件

Laravel 5.4---后端数据分页和前端显示分页结果的更多相关文章

  1. Python Django 前后端数据交互 之 前端向后端发送数据

    Python Django 之 前端向后端发送数据

  2. Django框架之模板语言特殊标记(将后端的数据显示到前端)

    后端代码 def GetMain(request): return render( request, "main.html", { "user1":" ...

  3. Django项目:CRM(客户关系管理系统)--22--14PerfectCRM实现King_admin分页的省略显示

    {#table_data_list.html#} {## ————————08PerfectCRM实现King_admin显示注册表的字段表头————————#} {% extends 'king_m ...

  4. php分页类代码带分页样式效果(转)

    php分页类代码,有漂亮的分页样式风格 时间:2016-03-16 09:16:03来源:网络 导读:不错的php分页类代码,将类文件与分页样式嵌入,实现php查询结果的精美分页,对研究php分页原理 ...

  5. 前端paging分页,前端设置每页多少条和当前页面的索引,传给后端,数据显示出来

    1.首先引入jquery 2.在引入paging.css和paging.js  这2个我存在百度云上: 链接:https://pan.baidu.com/s/1SPxlBkkx-pNAtLuRLifE ...

  6. 本博文将一步步带领你实现抽屉官网的各种功能:包括登陆、注册、发送邮箱验证码、登陆验证码、页面登陆验证、发布文章、上传图片、form验证、点赞、评论、文章分页处理以及基于tronado的后端和ajax的前端数据处理。

    本博文将一步步带领你实现抽屉官网的各种功能:包括登陆.注册.发送邮箱验证码.登陆验证码.页面登陆验证.发布文章.上传图片.form验证.点赞.评论.文章分页处理以及基于tronado的后端和ajax的 ...

  7. 循序渐进VUE+Element 前端应用开发(4)--- 获取后端数据及产品信息页面的处理

    在前面随笔<循序渐进VUE+Element 前端应用开发(3)--- 动态菜单和路由的关联处理>中介绍了在Vue + Element整合框架中,实现了动态菜单和动态路由的处理,从而可以根据 ...

  8. 循序渐进VUE+Element 前端应用开发(30)--- ABP后端和Vue+Element前端结合的分页排序处理

    在很多列表展示数据的场合中,大多数都会需要一个排序的处理,以方便快速查找排序所需的数据,本篇随笔介绍如何结合ABP后端和Vue+Element前端结合的分页排序处理过程. 1.Vue+Element前 ...

  9. 向.net后端发送请求获取数据,在前端动态填充表格

    实现效果 实现步骤 通过Ajax请求的方式 1.在前端定义Table 2.通过Ajax向.net后端发送数据请求 3.在.net后端定义方法供前端调用,并返回所需的数据 4.通过构造字符串的方式,将后 ...

随机推荐

  1. vue基础教程

    1.执行npm install 2.安装stylus,(npm install之后node_module已经有了stylus,但还是要再安装一次) npm install --save-dev sty ...

  2. PE

    不是projecteuler,我想说的是projecteuclid..似乎是一个有很多数学文献的网站..? PE541似乎是一道很有趣的题目,有一个暴力大概就是首先转化一下模型变成找\(\sum_{x ...

  3. inux监控平台搭建-监控项

    linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...

  4. iOS 之 判断是否是第一次打开app

    /** App判断第一次启动的方法 */ NSString *key = @"isFirst"; BOOL isFirst = [[NSUserDefaults standardU ...

  5. 长沙理工校赛I题题解-连续区间的最大公约数

    题目来源https://www.nowcoder.com/acm/contest/96/I 解题前们需要先知道几个结论: 首先,gcd是有区单调性的: gcd(L,R)>=gcd(L,R+d)  ...

  6. HDU5006 Resistance(高斯消元)

    给你一个复杂的网路图,然后告诉你s,t,求s,t的等效电阻.方法是设s的电势为1,t的电势为0.然后对于其它的每个点x,满足的是sigma(ux-uy)/R(x,y)(即对每个与x相连的节点y,电势差 ...

  7. springBoot 编写接口

    @Slf4j @RestController public class testController { @Autowired StringRedisTemplate redis; @RequestM ...

  8. asp.net获取URL方法

    方法如下: Request.Url.ToString()获取完整url(协议名+域名+站点名+文件名+参数):https://localhost:44300/WebForm1.aspx?abc=123 ...

  9. dogpile搜索引擎

    有发现了一个新的搜索引擎——dogpile,结果还不错.据说是综合了多个搜索引擎的结果,展现了最终的搜索结果. 从百科上介绍说,这是一个[元搜索引擎].不懂,继续百科之,如下: 搜索引擎分为全文搜索引 ...

  10. HTML小技巧将table边框改为细线

    HTML制作新手在用TABLE表格时,会碰到如何改变边线粗线,因为默认的TABLE边线设置即使是1px 是很粗的.因此会使用其他一些方法来制作出细线边框,这里介绍一种利用CSS来实现细线的方法,很有效 ...