[Day 41] 心情隨筆後台及前台(三) - 新增心情隨筆的動作

心情隨筆後台及前台

新增心情隨筆的動作

我們開始處理心情隨筆新增的動作,
在 App\Http\Controllers\ 再新增一個方法 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 = '修改';
    }

    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
    {
        //修改, 先不處理
    }

    //成功就轉回列表頁
    return redirect('/admin/mind/?result=success');    
}

如果驗證不通過就會出現以下畫面,
欄位名稱改成中文的方式請參考第20篇,
 

https://ithelp.ithome.com.tw/upload/images/20210424/20105694CmNdaqHPwH.png

驗證通過就會寫進資料庫,
然後回到列表頁,
不過我們明天才會處理列表頁,
先到資料庫去看看有沒有資料,
的確已經寫進去了.
 

https://ithelp.ithome.com.tw/upload/images/20210424/20105694crsipQsoaE.png