本文实例讲述了Laravel5.1框架分页展示实现方法。分享给大家供大家参考,具体如下:Laravel
本文实例讲述了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" rel="external nofollow" rel="external nofollow" >
</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" rel="external nofollow" rel="external nofollow" >
</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>
Laravel5.1
分页展示