前回の記事で、CRUDのCREATE(新規作成)ができるようになったので、
CRUDのUPDATE(更新)を作成します。
以下記事がこの記事の基本部分になるのでこちらからご覧ください。
開発環境
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/
編集画面を開く
更新項目を返納し確認を押す
登録を押す
変更されてます。
以上CRUDのUPDATE(更新)画面作成完了です。
次は、CRUDのDELETE(削除)を作成します。