Laravel可以直接调用模型的分页方法实现分页,返回对应数据和分页字符串
一:数据展示
路由写法:
//分页
Route::match(['get','post'],'index6', 'Home\IndexController@index6');
Controller写法:
//分页
public function index6(){
//查询数据
$data = User::get();
//展示视图,并传递数据
return view('Home/test/index6',compact('data'));
}
视图:
<!DOCTYPE html>
<html>
<head>
<title>分页</title>
<style type="text/css">
table,th,td{border:1px solid black;}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>id</th>
<th>username</th>
<th>password</th>
<th>age</th>
<th>avatar</th>
</tr>
@foreach($data as $val)
<tr>
<td>{{$val -> id}}</td>
<td>{{$val -> username}}</td>
<td>{{$val -> password}}</td>
<td>{{$val -> age}}</td>
<td>{{$val -> avatar}}</td>
</tr>
@endforeach
</thead>
</table>
</body>
</html>
浏览器访问:
数据库:
二:分页展示
paginate(n);分页查询所用函数,支持使用辅助查询方法
{{$data -> links()}}可显示一个粗糙的分页控件
Controller修改:
//分页
public function index6(){
//查询数据
$data = User::paginate(3);
//展示视图,并传递数据
return view('Home/test/index6',compact('data'));
}
视图修改:
<!DOCTYPE html>
<html>
<head>
<title>分页</title>
<style type="text/css">
body{text-align: center;}
table,th,td{border:1px solid black;}
img{width: 30px;height: 30px;}
.pagination{list-style: none;text-align: center;}
.pagination li{margin:0 auto;
display: inline-block;
margin: 4px 4px 4px 4px;
border:1px solid #ccc;
float: left;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>id</th>
<th>username</th>
<th>password</th>
<th>age</th>
<th>avatar</th>
</tr>
@foreach($data as $val)
<tr>
<td>{{$val -> id}}</td>
<td>{{$val -> username}}</td>
<td>{{$val -> password}}</td>
<td>{{$val -> age}}</td>
<td><img src="{{ltrim($val -> avatar,'.')}}"></td>
</tr>
@endforeach
</thead>
</table>
{{$data -> links()}}
</body>
</html>
浏览器访问:
下方的建议控件即可进行分页查询,如果不喜欢自带这几个箭头,可以去
\vendor\laravel\framework\src\Illuminate\Pagination\resources\views\default.blade.php
里修改: