Laravel 10 入門トップページ


目次

  1. 全体の概要
  2. Laravel によるユーザ認証
  3. ユーザ認証を備えたコメント掲示板の開発
    1. 概要
    2. データベースのマイグレーション
    3. シーダによるコメントデータの登録
    4. モデルとコントローラの生成
    5. ルートの定義と確認
    6. 未検証ユーザの動作検証
    7. コメントの一覧表示
    8. ナビゲーションメニューの追加
    9. コメント一覧の Tailwind CSS によるスタイリング
    10. コメントの詳細ページ
    11. リレーションシップの設定と投稿者名の表示
    12. ページネーションの作成
    13. コメントの投稿
    14. コメントの編集
    15. コメントの削除
    16. ナビゲーションのハイライトを調整
  4. マルチ認証の実現

Laravel でユーザ認証とマルチ認証を実現する

ユーザ認証を備えたコメント掲示板の開発

モデルとコントローラの生成

データベースに comments テーブルを生成したので,続いてモデルとコントローラを生成します.こことここで行ったようにモデルとコントローラをそれぞれ生成しても良いのですが,モデルの作成時に -c オプションを付けるとコントローラも同時に生成できます.

vagrant@ubuntu2204 laravelAuth $ php artisan make:model Comment -c ⏎

   INFO  Model [app/Models/Comment.php] created successfully.

   INFO  Controller [app/Http/Controllers/CommentController.php] created successfully.

vagrant@ubuntu2204 laravelAuth $

上のように,モデル,コントローラともに先頭大文字の単数形で生成されました.モデルは単数形限定ですが,コントローラは複数形で CommentsController でも構いません.モデルと同時に生成すると単数形になることに注意してください.コントローラはこのように単数形でも複数形でも構わないのですが,プロジェクト内ではどちらかに統一すると良いでしょう.

生成されたモデルは次のとおりです.現時点は編集の必要はありません.

app/Models/Comment.php
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Comment extends Model
{
    use HasFactory;
}

コントローラには index 関数を準備し,コメントの一覧を取得してダンプするコードだけを作成しておきます.

app/Http/Controllers/CommentController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Comment;

class CommentController extends Controller
{
    public function index()
    {
        $comments = Comment::get();
        dd($comments);
    }
}

目次に戻る