Laravel에서 MariaDB의 CRUD (그 4 Create)

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

Laravel의 MariaDB CRUD (3)
신규 작성 기능을 만듭니다.

1) 라우팅 확인

articles/create가 있는지 확인
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>
        </tr>
  @endforeach
</table>
@endsection

3) 뷰 생성

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

{{-- @yield('title')にテンプレートごとの値を代入 --}}
@section('title', '新規作成')

{{-- application.blade.phpの@yield('content')に以下のレイアウトを代入 --}}
@section('content')
  <form action="/articles" method="post">
    {{-- 以下を入れないとエラーになる --}}
    {{ csrf_field() }}
    <div>
      <label for="title">タイトル</label>
      <input type="text" name="title" placeholder="記事のタイトルを入れる">
    </div>
    <div>
      <label for="body">内容</label>
      <textarea name="body" rows="8" cols="80" placeholder="記事の内容を入れる"></textarea>
    </div>
      <input type="submit" value="送信">
    </div>
  </form>
@endsection

4) 컨트롤러 수정

app/Http/Controllers/ArticlesController.php
// 略
    public function create()
    {
        return view('articles.create');
    }
// 略
    public function store(Request $request)
    {
  // モデルからインスタンスを生成
  $article = new Article;
  // $requestにformからのデータが格納されているので、以下のようにそれぞれ代入する
  $article->title = $request->title;
  $article->body = $request->body;
  // 保存
  $article->save();
  // 保存後 一覧ページへリダイレクト
  return redirect('/articles');
    }
// 略

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

http://localhost:8000/articles


새로 만들기를 클릭


제출을 클릭


다음 페이지
Laravel의 MariaDB CRUD (5 Update)

좋은 웹페이지 즐겨찾기