列出所有用户

根据我们前面使用 resource 方法生成的符合 RESTful 架构的路由可知,用户列表对应用户控制器的 index 动作,页面 URL 对应 /users。接下来我们将在用户控制器中加入 index 动作。

并且因为用户列表的访问权限是公开的,所以我们还需要在 Auth 中间件 except 中新增 index 动作来允许游客访问。

修改用户控制器

app/Http/Controllers/UsersController.php

middleware('auth', [
            'except' => ['show', 'create', 'store', 'index']
        ]);
        .
        .
        .
    }

    public function index()
    {
        $users = User::all();
        return view('users.index', compact('users'));
    }
    .
    .
    .
}

可以看到,在 index 方法中,我们使用 Eloquent 用户模型将所有用户的数据一下子完全取出来了,这么做会影响应用的性能,后面我们再来对该代码进行优化,通过分页的方式来读取用户数据。

在将用户数据取出之后,与 index 视图进行绑定,这样便可以在视图中使用 $users 来访问所有用户实例。

创建用户列表视图

接下来让我们继续创建 index 视图,用于显示所有用户列表的信息。

resources/views/users/index.blade.php

@extends('layouts.default')
@section('title', '所有用户')

@section('content')

所有用户

@stop

添加视图样式

针对用户列表视图,我们再来进行样式优化。

resources/assets/sass/app.scss

.
.
.
/* Users index */

.users {
  list-style: none;
  margin: 0;
  padding-left: 0;
  li {
    overflow: auto;
    padding: 10px 0;
    border-bottom: 1px solid $gray-lighter;
  }
}

添加顶部导航链接

resources/views/layouts/_header.blade.php


你可能感兴趣的:(列出所有用户)