可能看到上面图片中的右侧栏吧,我们先把它完成,然后一一实现它的功能.将index视图文件中的read2替换成:
**read2 => @include('Admin.right_bar') **
admin/index.blade.php
@extends('master') {{-- 继承master模版 --}}
@section('title')
管理员
@stop
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10">
@include('errors.list')
<h3 align="center">学生信息表</h3>
<table class="table table-hover">
<tr>
<td>学号</td>
<td>姓名</td>
<td>性别</td>
<td>手机</td>
<td>班级</td>
<td>邮箱</td>
<td>操作</td>
</tr>
@if (count($users))
@foreach ($users as $user)
<tr>
<td>{{ $user->id }}</td>
<td>{{ $user->name }}</td>
<td>{{ $user->sex }}</td>
<td>{{ $user->phone }}</td>
<td>{{ $user->pro_class }}</td>
<td>{{ $user->email }}</td>
<td>
<button class="btn btn-sm btn-info" data-toggle="modal" data-target="#myModal{{$user->id}}">更新分数</button>
<form action="{{ url('admin/'.$user->id) }}" style='display: inline' method="post">
<input type="hidden" name="_method" value="DELETE">
<input type="hidden" name="_token" value="{{csrf_token()}}">
<button class="btn btn-sm btn-danger" onclick="return confirm('确定删除?')">删除</button>
</form>
</td>
</tr>
read1
@endforeach
@else
<h1>没有学生名单,请管理员添加</h1>
@endif
</table>
{{-- 分页 --}}}
<?php echo $users->render(); ?>
</div>
read2
</div>
</div>
@stop
@include('Admin.right_bar')
接着新建Admin/right_bar.blade.php:
<div class="col-md-2">
<h3>总人数: {{ $count }}</h3>
<a href="/admin"><button class="btn btn-success btn-lg">学生列表</button></a>
<br /><br />
<a href="/admin/create"><button class="btn btn-primary btn-lg">添加学生</button></a>
<br /><br />
<a href="/admin/grade"><button class="btn btn-info btn-lg">成绩排名</button></a>
<br /><br />
<a href="{{ URL::route('download_stu_list_excel') }}"><button class="btn btn-default btn-lg">下载名单</button></a>
<br /><br />
<a href="{{ URL::route('download_grade_list_excel') }}"><button class="btn btn-lg btn-default">导出成绩</button></a>
</div>
学生列表 -- 返回学生列表,即 http://localhost:8000/admin
添加学生 -- 添加学生页面,即 http://localhost:8000/admin/create
成绩排名 -- 查看成绩列表,即 http://localhost:8000/admin/grade
下载名单 -- 下载学生信息Excel
导出成绩 -- 下载学生成绩Excel
添加学生,对应AdminController中的create方法:
public function create(){
$result = User::where('is_admin', 0);
$count = $result->count();
return view('Admin.create', compact('count'));
}
接着去创建Admin/create.blade.php:
@extends('master') {{-- 继承master模版 --}}
@section('title')
添加学生
@stop
@section('content')
<div class="container">
<div class="row">
<div class="col-md-10">
<h2>添加学生</h2>
<hr/>
@include('errors.list')
<div class="form-group">
{!! Form::model($user = new \App\UsersInfo, ['url' => 'admin/', 'class' => 'form-horizontal']) !!}
<div class="form-group">
{!! Form::label('id', '学号:',['class' => 'control-label col-md-1']) !!}
<div class="col-md-4">
{!! Form::text('id', old('id'), ['class' => 'form-control']) !!}
</div>
</div>
<div class="form-group">
{!! Form::label('name', '姓名: ', ['class' => 'control-label col-md-1']) !!}
<div class="col-md-4">
{!! Form::text('name', old('name'), ['class' => 'form-control', 'required']) !!}
</div>
</div>
<div class="form-group">
<div class="col-md-5">
{!! Form::submit('完成,创建', ['class' => 'btn btn-success form-control']) !!}
</div>
</div>
{!! Form::close() !!}
</div>
</div>
@include('Admin.right_bar')
</div>
</div>
@stop
点击添加学生:
这里我们Form::model(obj, [options]),传入一个新的对象$user, 这里可以查看 /vendor/illuminate/html/FormBuilder.php中的model方法,Form自动帮你填好表单,这里因为是新建,表单为空,后面你就明白了. 接着看我们的url地址, http://localhost:8000/admin,对应控制器中的store方法,