接下来要处理的是编辑的画面,
我们看一下昨天这个画面
右边有一个修改
的按钮,
点下去之後就可以针对这一则心情随笔进行修改,
我们要在 app/Http/Controllers/AdminController.php 新增一个editMindPage方法,
修改的部分跟新增很像,
因为我们用的是同一个画面
可以把addMinPage复制过来再改一下就可以,
我们这里会用到一个参数mind_id,
这个参数写在 routes/web.php
Route::group(['prefix' => '{mind_id}'], function(){
然後我们开始写editMindPage方法,
我们要取得我们要的心情随笔Mind资料,
首先我们要验证有这笔资料(id)存在,
然後我们再验证这笔资料是属於这个使用者的(user_id),
总不能编辑别的使用者的资料吧,
如果找不到资料就转回列表页,
我们写editMindPage如下:
//编辑心情随笔资料
function editMindPage($mind_id)
{
Log::notice('新增心情随笔资料');
//先取得自己的资料
$User = $this->GetUserData();
//取得心情随笔列表
$Mind = Mind::where('id', $mind_id)->where('user_id', $User->id)->first();
if(!$Mind)
{
//如果找不到资料就回列表页
return redirect('/admin/mind');
}
$name = 'mind';
$action = '修改';
$binding = [
'title' => ShareData::TITLE,
'page' => $this->page,
'name' => $name,
'User' => $User,
'Mind' => $Mind,
'action' => $action,
'result' => '',
];
return view('admin.mind', $binding);
}
画面的部分之前已经写好,
所以问题不大,
再来就是要处理POST的部分,
也就是修改完资料之後的处理.
(即使没修改我们也当成已修改来处理)
我们在 editMindProcess 方法加上编辑的处理如下:
//编辑心情随笔的动作
function editMindProcess()
{
Log::notice('处理心情随笔资料');
$User = $this->GetUserData();
if(!$User)
{
Log::notice('找不到使用者');
//如果找不到使用者,就回到首页
return redirect('/');
}
$name = 'mind';
//接收输入资料
$input = request()->all();
//验证规则
$rules = [
//内容
'content' => [
'required',
'max:400'
],
];
//验证资料
$validator = Validator::make($input, $rules);
if($input['id'] == '')
{
//新增
$action = '新增';
$Mind = new Mind;
$Mind->content = $input['content'];
}
else
{
//修改
$action = '修改';
//取得心情随笔列表
$Mind = Mind::where('id', $input['id'])->where('user_id', $User->id)->first();
if(!$Mind)
{
//如果找不到资料就回列表页
return redirect('/admin/mind');
}
$Mind->content = $input['content'];
}
if($validator->fails())
{
$binding = [
'title' => ShareData::TITLE,
'page' => $this->page,
'name' => $name,
'User' => $User,
'Mind' => $Mind,
'action' => $action,
'result' => '',
];
return view('admin.mind', $binding)
->withErrors($validator);
}
if($input['id'] == '')
{
//新增
$input["user_id"] = $User->id;
$input["enabled"] = 1;
Mind::create($input);
}
else
{
//修改
$Mind->save();
}
//成功就转回列表页
return redirect('/admin/mind/?result=success');
}
这样子就完成修改的动作,
同样修改完右上角会出现提示(这动作之前就写好了)
>>: 劫持用户会话(hijack user sessions)
前言 昨天成功的放上imageView以及标题,今天来把其他的栏位放上~ 登入栏位 LoginVie...
类别 类别里封装了变数和函数 被封装在类别里的变数称为属性 被封装在类别里的函数称为方法(方式、功能...
经过了漫长的30天,终於完赛了,好险暑假有先屯个15篇,要不应该是没办法完赛了,由衷地佩服那些真的每...
前言 接下来就正式进入本系列文的重头戏:Kubernetes,Kubernetes 可以说是近期快速...
var myArr = ['燃面', '生菜', '花椒']; myArr.a = '雉鸡'; //...