MENU

⑧ Laravelで簡単なCRUDシステムを作る(Edit…データ編集画面を作成する)

次に、データを編集する機能をつけます。

目次

ルーティングを設定

下記のように一行追記する。

<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\TodoController;

// Route::get('/', function () {
//     return view('welcome');
// });

Route::get('todo/index', [TodoController::class, 'index'])->name('todo.index');
Route::get('todo/create', [TodoController::class, 'create'])->name('todo.create');
Route::post('todo/store', [TodoController::class, 'store'])->name('todo.store');
Route::get('todo/show/{id}', [TodoController::class, 'show'])->name('todo.show');
Route::get('todo/edit/{id}', [TodoController::class, 'edit'])->name('todo.edit'); //追記

コントローラの設定

コントローラのeditのところに、下記のように追記する。

    public function edit($id)
    {
        $todo = Todo::find($id); //追記
        return view('todo.edit', compact('todo')); //追記
    }

ビューの設定

edit.blade.phpを作成し、下記のように書いておきます。

<div class="container-sm">
  <link href="{{ asset('css/app.css') }}" rel="stylesheet">
  <h1>editです</h1>

  <form method="POST" action="">
  @csrf
  ID:{{ $todo->id }} <br>
  内容:<input type="text" name="content" value="{{ $todo->content }}">  <br>
  対応したかどうか:{{ $todo->done }} <br>
  作成日時:{{ $todo->created_at }} <br>
  更新日時:{{ $todo->udpated_at }} <br>¥
  <input type="submit" value="更新する" class="btn btn-info">
  </form>

</div>

詳細表示画面と編集画面をリンクさせる

show.blade.phpに、下記の通り追記してリンクボタンを作成します。

<div class="container-sm">
  <link href="{{ asset('css/app.css') }}" rel="stylesheet">
  <h1>showです</h1>

  ID:{{ $todo->id }} <br>
  内容:{{ $todo->content }} <br>
  対応したかどうか:{{ $todo->done }} <br>
  作成日時:{{ $todo->created_at }} <br>
  更新日時:{{ $todo->udpated_at }} <br>
  //ここから追記
  <form method="GET" action="{{ route('todo.edit', ['id' => $todo->id] ) }}">
    @csrf
    <input type="submit" value="変更する" class="btn btn-info">
  </form>
</div>

詳細画面から編集画面へのリンクができたら成功です!

お疲れ様でした!

独学に限界を感じたら、プログラミング教室がお勧めです。
エージェントは複数登録することをお勧めします。カウンセリングを通して、業界について勉強することができます。
フリーランス転職希望の方はフリーランス専門のエージェントを利用しましょう。
独学に限界を感じたら、プログラミング教室がお勧めです。
エージェントは複数登録することをお勧めします。
カウンセリングを通して、業界について勉強することができます。
フリーランス転職希望の方はフリーランス専門のエージェントを利用しましょう
よかったらシェアしてね!
  • URLをコピーしました!
目次