1.取出数据库中的数据,并传递给用户列表页
public function index()
{
$user = User::get();
return view(\'admin.user.list\',compact(\'user\'));
}
2.用户列表页,循环显示数据
<th>ID</th>
<th>用户名</th>
<th>邮箱</th>
@foreach($user as $v)
<tr>
<td>{{ $v->user_id }}</td>
<td>{{ $v->user_name }}</td>
<td>{{ $v->email }}</td>
</tr>
@endforeach
3.显示分页数据
控制器方法
public function index()
{
//不使用get取出所有数据,使用paginate()方法,每页显示3条数据
$user = User::paginate(3);
return view(\'admin.user.list\',compact(\'user\'));
}
模板显示分页
<div class="page">
{!! $user->render() !!}
</div>
4.添加搜索每页显示几条的单行选择框
<div class="layui-input-inline">
<select name="num" lay-verify="required">
<option value=""></option>
<option value="3" selected="">3</option>
<option value="5">5</option>
</select>
</div>
5.搜索框提交地址
<form class="layui-form layui-col-md12 x-so" method="GET" action="{{ url(\'admin/user\') }}">
6.获取搜索框提交过来的数据
public function index(Request $request)
{
//1.获取搜索框get提交的请求参数
$input = $request->all();
dd($input);
}
7.根据搜索框提交过来的参数进行模糊查询
public function index(Request $request)
{
//1.从数据库中查出数据按user_id正序排列
$user =User::orderBy(\'user_id\',\'asc\')
//2.查询条件使用闭包函数,将请求对象$request当作参数传入
->where(function($query) use($request){
//3.在闭包函数里获取请求对象$request下的input(\'username\')和input(\'email\')
$username = $request->input(\'username\');
$email = $request->input(\'email\');
//如果请求对象下的$username不为空
if (!empty($username)) {
//根据输入的$username向数据库中user_name字段进行模糊查询
$query->where(\'user_name\',\'like\',\'%\'.$username.\'%\');
}
//如果请求对象下的$email不为空
if (!empty($email)) {
//根据输入的$username向数据库中email字段进行模糊查询
$query->where(\'email\',\'like\',\'%\'.$email.\'%\');
}
})
//将请求对象$request下的每页显示几条数据input(\'num\')追加到分页中
//如果输入了每页显示几条数据则显示几条数据,否则显示默认3条数据
->paginate($request->input(\'num\')?$request->input(\'num\'):3);
//返回列表页,并传递查询出的数据$user和搜索请求对象$request
return view(\'admin.user.list\',compact(\'user\',\'request\'));
}
8.判断搜索每页显示几条数据,默认选中
<div class="layui-input-inline">
<select name="num" lay-verify="required">
//如果输入的是每页显示3条数据,则默认选中
<option value="3" @if($request->input(\'num\')==3) selected @endif>3</option>
<option value="5" @if($request->input(\'num\')==5) selected @endif>5</option>
</select>
</div>
9.在搜索用户名和搜索邮箱输入框显示默认值
//搜索用户名输入框默认值
<input type="text" name="username" value="{{ $request->input(\'username\') }}" placeholder="请输入用户名">
//搜索邮箱输入框默认值
<input type="text" name="email" value="{{ $request->input(\'email\') }}" placeholder="请输入邮箱">
10.将搜索条件的请求对象追加到分页链接中
<div class="page">
//在分页链接 $user->render()的方法中追加搜索请求对象的所有参数
{!! $user->appends($request->all())->render() !!}
</div>