zoukankan      html  css  js  c++  java
  • Laravel5.1 分页展示

    Laravel为我们提供了一套分页的逻辑,我们无需自己实现分页逻辑,只需要执行几个简单的方法就能实现漂亮的分页。


     1 simplePaginate

    这是一种只显示上一页下一页的样式分页,我们来看看怎么用:

    class PostController extends Controller
    {
        public function index()
        {
    //        $posts = Post::simplePaginate(10);      这是Model的版本
            /**
             * simplePaginate
             * 第一个参数:每页显示多少条数据。
             * 第二个参数:(可选)查询的字段 默认是*
             * 第三个参数:(可选)页码名称 默认是page
             */
            $posts = DB::table('posts')->simplePaginate(10);
            return view('post.index', compact('posts'));
        }
    }

    然后在blade模板中用$posts->render()显示:

    <!DOCTYPE html>
    <html>
    <head>
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
    </head>
    
    <body>
    <div class="container">
        <h1>Posts</h1>
        <hr>
        <ul>
            @foreach($posts as $post)
                <li>
                    <h4>{{ $post->title }}</h4>
                    <p>{{ str_limit($post->content) }}</p>
                </li>
            @endforeach
        </ul>
        {!! $posts->render() !!}
    </div>
    </body>
    </html>

     2 Paginate

    这是一个自带页码的样式分页。

    class PostController extends Controller
    {
        public function index()
        {
    //        $posts = Post::paginate(10);      这是Model的版本
    //        $posts = Post::where('create_at', '<', Carbon::now())->paginate();    可以在where等逻辑后使用
            /**
             * simplePaginate
             * 第一个参数:每页显示多少条数据。
             * 第二个参数:(可选)查询的字段 默认是*
             * 第三个参数:(可选)页码名称 默认是page
             * 第四个参数:(可选)代表第几页 默认是null
             */
            $posts = DB::table('posts')->orderBy('created_at', 'desc')->paginate(10);
            return view('post.index', compact('posts'));
        }
    }

    然后在blade模板中用$posts->render()显示:

    <!DOCTYPE html>
    <html>
    <head>
        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
    </head>
    
    <body>
    <div class="container">
        <h1>Posts</h1>
        <hr>
        <ul>
            @foreach($posts as $post)
                <li>
                    <h4>{{ $post->title }}</h4>
                    <p>{{ str_limit($post->content) }}</p>
                </li>
            @endforeach
        </ul>
        {!! $posts->render() !!}
    </div>
    </body>
    </html>
  • 相关阅读:
    MySQL主从复制报错 Errno 1205
    MySQL添加索引优化SQL
    MySQL通过添加索引解决线上数据库服务器压力大问题
    手把手教你搭建MySQL双主MM+keepalived高可用架构
    SQLSERVER 维护计划无法删除
    Form表单中Post与Get方法的区别
    ASP.NET MVC中常用的ActionResult类型
    Web安全相关(五):SQL注入(SQL Injection)
    Web安全相关(四):过多发布(Over Posting)
    Web安全相关(三):开放重定向(Open Redirection)
  • 原文地址:https://www.cnblogs.com/sun-kang/p/7599660.html
Copyright © 2011-2022 走看看