Laravel에서 MariaDB의 CRUD (그 6 Delete)

다음 페이지의 계속입니다.

Laravel의 MariaDB CRUD (5)
데이터 삭제 기능을 만듭니다.

1) 라우팅 확인

articles.destroy가 있는지 확인
php artisan route:list

2) 목록 페이지에 삭제 링크를 추가합니다.

resources/views/articles/index.blade.php
{{-- layoutsフォルダのapplication.blade.phpを継承 --}}
@extends('layouts.application')

{{-- @yield('title')にテンプレートごとにtitleタグの値を代入 --}}
@section('title', '記事一覧')

{{-- application.blade.phpの@yield('content')に以下のレイアウトを代入 --}}
@section('content')
<div>
    <a href="/articles/create">新規作成</a>
</div>
<table>
 @foreach ($articles as $article)
    <tr>
    <td>{{$article->title}}</td>
    <td>{{$article->body}}</td>
    <td><a href="/articles/{{$article->id}}">詳細を表示</a></td>
    <td><a href="/articles/{{$article->id}}/edit">編集する</a></td>
<td>
    <form action="/articles/{{$article->id}}" method="post">
      {{ csrf_field() }}
      <input type="hidden" name="_method" value="delete">
      <input type="submit" name="" value="削除する">
    </form>
    {{-- <a href="/articles/{{$article->id}}">削除する</a> --}}
</td>
    </tr>
  @endforeach
</table>
@endsection

3) 상세 페이지에 삭제 링크를 붙입니다.

resources/views/articles/show.blade.php
{{-- layoutsフォルダのapplication.blade.phpを継承 --}}
@extends('layouts.application')

{{-- @yield('title')にテンプレートごとの値を代入 --}}
@section('title', '記事詳細')

{{-- application.blade.phpの@yield('content')に以下のレイアウトを代入 --}}
@section('content')
  <h1>{{$article->title}}</h1>
  <p>{{$article->body}}</p>
  <br><br>
  <a href="/articles/{{$article->id}}/edit">編集する</a>
<form action="/articles/{{$article->id}}" method="post">
      {{ csrf_field() }}
      <input type="hidden" name="_method" value="delete">
      <input type="submit" name="" value="削除する">
    </form>
  <a href="/articles">一覧に戻る</a>
@endsection

4) destroy 액션 편집

app/Http/Controllers/ArticlesController.php
// 略
    public function destroy($id)
    {
  // idを元にレコードを検索
  $article = Article::find($id);
  // 削除
  $article->delete();
  // 一覧にリダイレクト
  return redirect('/articles');
    }
// 略

5) 서버를 시작하고 브라우저에서 확인
php artisan serve

http://localhost:8000/articles

상세 화면

좋은 웹페이지 즐겨찾기