fangsheng90

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>

分类:

技术点:

相关文章: