Laravel プログラミング サーバサイド

[入門者向け]15分でLaravelのフォームで掲示板を作成する方法

どうも、シローです。

普段はサーバサイドやフロントサイドの開発をしております。

今回はLaravelのフォームを使って簡易掲示板を作成する方法をご紹介します。

この記事の対象者

  • Laravelを触り始めた人
  • とりあえず、何か動くものをLaravelで作りたい人
  • フォーム送信、データとの繋ぎこみなどを理解したい人

前提

この記事はLaravel Sailで立ち上げた環境を前提にしています。

Laravelの実行環境を構築していない方はこちらの記事(https://shiro-secret-base.com/mac-laravel-sail/)を参照ください。

テーブル作成

まずは次のようなテーブル作成をします。

  • boards:掲示板データ
  • comments:コメントデータ

こちらのコマンドでマイグレーションファイルを作成します。

マイグレーションファイルの中身は次のようにします。

create_boards

create_comments

ファイルの中身の編集が終わったら次のコマンドでテーブルを作成します。

コントローラの作成

次にコントローラを作成するために、次のコマンドを実行します。

ルーティングの設定

BoardControlerにアクセスするためのルーティングを設定します。

app/routes/web.phpを次のルーティングを追加します。

コントローラの編集

それぞれのルーティングに対応した関数をBoardControllerに定義します。

一旦は処理の中身は書かずに次のように編集します。

ビューの作成

次に画面に表示するためのビューファイルを作成します。

resources/viewsディレクトリ配下に次の構成でファイルを作成します。

  • board/index.blade.php
  • board/detail.blade.php

モデルの作成

データベースにあるboardsテーブルとcommentsテーブルのデータを操作するためのクラスとしてモデルを作成します。

次のコマンドを実行します。

それぞれのモデルクラスを次のように編集します。

app/Models/Borad.php

app/Models/Comment.php

 

掲示板一覧画面を作成

まずは掲示板の一覧を表示できるようにします。

コントローラの修正

BoardControllerindex関数を次のようにします。

Boardモデルクラスを使用するのでファイルの先頭にuse App\Models\Boardとする必要があります。

ビューの修正

board/index.blade.phpを次のようにします。

http://localhost/boardにアクセスするとページが表示されますが、まだデータはboardsテーブルに追加されていないので、次のようになっているかと思います。

 

掲示板データを作成

掲示板一覧画面に表示するためのデータを追加するためにフォームを作成します。

board/index.blade.php

次にコントローラを編集します。BoardControllercreate関数を次のようにします。

掲示板データを作成し、/boardにアクセスして掲示板一覧を表示する処理になっております。

実際に一覧画面にアクセスして掲示板を作成してみると次のようになると思います。

掲示板にコメントを投稿する

最後にそれぞれの掲示板にコメントを投稿するようにします。

掲示板の詳細画面を作成

まずは、それぞれの掲示板を表示できるようにします。

board/detail.blade.phpを次のようにします。

次にコントローラを編集します。BoardControllershow関数を次のようにします。

そうしたら、作成した掲示板の「詳細」をクリックすると次のような画面が表示されると思います。

コメントを投稿

コメントを投稿してそれが詳細画面に表示されるようにします。

BoardControllercreateComment関数を次のようにします。

これで、コメントを投稿すると詳細画面に表示されるようになっていると思います。

おわり

いかがでしたでしょうか?

以上、Laravelで簡易掲示板を作成する内容でした。

Laravelでとりあえず何か作ってみたい!という方にとって本記事が参考になれば幸いです。

-Laravel, プログラミング, サーバサイド

© 2024 Shiro's secret base