1.1、定义路由
// 修改用户显示
Route::get('user/edit/{id}', 'UserController@edit') -> name('admin.user.edit');
// 修改用户处理
Route::put('user/edit/{id}', 'UserController@update') -> name('admin.user.edit');
1.2、控制器
// 修改用户显示
public function edit (int $id) {
$model = User::find($id);
return view('admin.user.edit', compact('model'));
}
// 修改用户处理
public function update (Request $request, int $id) {
$model = User::find($id);
// 原密码
$spass = $request -> get('spassword');
// 原密码密文
$oldpass = $model -> password;
$bool = Hash::check($spass, $oldpass);
// dump($bool);
if ($bool) {
// 修改
$data = $request -> only([
'username',
'password',
'phone',
'sex',
'email'
]);
if (!empty($data['password'])) {
$data['password'] = bcrypt($data['password']);
}
else {
unset($data['password']);
}
$model -> update($data);
return redirect(route('admin.user.index')) -> with('success','修改用户成功');
}
else {
return redirect(route('admin.user.edit', $model)) -> withErrors(['error' => '原密码不正确']);
}
}
1.3、修改模版
views/admin/user/index.blade.php
:
@if($item -> deleted_at == null)
<span class="label label-primary radius">
<a href="{
{route('admin.user.edit', $item)}}">修改</a>
</span>
@endif
在views/admin/user
新增edit.blade.php
模版。代码在如下关键代码给出。
二、本节关键代码
UserController.php
:
<?php
// 后台用户管理
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use Faker\Provider\Base;
use App\Models\User;
use Mail;
use Illuminate\Mail\Message;
// 验证铭文密码与加密的密码是否一致
use Hash;
class UserController extends BaseController
{
// 用户列表
public function index() {
// echo $this->pagesize;
// 分页 withTrashed()显示所有的,包括已经进行了软删除的
$data = User::orderBy('id', 'desc') -> withTrashed() -> paginate($this->pagesize);
return view('admin.user.index', compact('data'));
}
// 用户增加显示
public function add() {
return view('admin.user.add');
}
// 用户添加处理
public function create(Request