ボス級社内SEのお役立ち技術情報

社内SEのシステム開発について。メインプログラム言語C#

【Laravel5.7】CRUDアプリケーションを最速で作成する⑤ UPDATE(更新)

f:id:HLSE:20190220191746p:plain

前回の記事で、CRUDのCREATE(新規作成)ができるようになったので、

CRUDのUPDATE(更新)を作成します。

 

以下記事がこの記事の基本部分になるのでこちらからご覧ください。

www.topse.work

 

開発環境

OS:Windows10 64bit
XAMPP:v3.2.2
MySQL(MariaDB):10.1.35-MariaDB
Webフレームワーク:Laravel Framework 5.7.27
エディタ:VisualStudioCode 1.30.2

手順

ルートの追加

routes\web.php

Route::group(['prefix' => 'problem'], function () {
 //編集
 Route::get('edit/{problem}/', function ($id) {
 $problem = problem::findOrFail($id);
 return view('problem/edit/index', $problem);
  })->name('problem.edit');
 Route::patch('edit/{problem}/', 'problemController@edit')->name('problem.edit');
 Route::post('edit/{problem}/', 'problemController@update')->name('problem.edit');
});

 

ビュー作成(更新入力用画面、確認用画面) 

resources\views\problem\edit\index.blade.php

 

gist5aeec92454a9e7c69664e7f8c46e896f

 

resources\views\problem\edit\create.blade.php

 

gist7c755b83790f5dbe7933d348baef0a0e

 

コントローラ(更新入力用、データ保存用) 

app\Http\Controllers\ProblemController.php

更新データ確認

public function edit(Request $request)
{
 $data = $request->all();
 return view('problem.edit.edit')->with($data);
}

データ保存

public function update(Request $request, problem $problem)
{
 // $guardedに指定していないものは全て入り得る
 $problem->update($request->all());
 return redirect()->to('problem');
}

 

実行結果

ビルドインサーバ起動

php artisan serve --host 0.0.0.0

ブラウザよりアクセスして以下画面になっていればデータが取得できています!

http://localhost:8000/problem/

編集画面を開く

f:id:HLSE:20190224003639j:plain

更新項目を返納し確認を押す

f:id:HLSE:20190224003336j:plain

登録を押す

f:id:HLSE:20190224003928j:plain

変更されてます。

f:id:HLSE:20190224004038j:plain

 

以上CRUDのUPDATE(更新)画面作成完了です。

次は、CRUDのDELETE(削除)を作成します。