Laravelでモデルバインディングを使用した新しいコントローラーの作成方法


  1. コントローラーの作成 まず、ターミナルで以下のコマンドを実行して、新しいコントローラーを生成します。
php artisan make:controller UserController

これにより、UserControllerという名前の新しいコントローラーファイルが app/Http/Controllers ディレクトリに作成されます。

  1. ルートの設定 routes/web.php ファイルで、作成したコントローラーに対するルートを設定します。例えば、以下のようなルートを追加します。
Route::get('/users/{user}', 'UserController@show');

上記のルートでは、/users/{user} にアクセスした際に、UserControllershow メソッドが呼び出されます。

  1. コントローラーメソッドの作成 作成したコントローラーファイル (UserController.php) を開き、show メソッドを以下のように定義します。
public function show(User $user)
{
    // ユーザーの表示や処理を行うコードを記述する
    return view('users.show', compact('user'));
}

上記のコードでは、User モデルが自動的にバインドされ、$user 変数に代入されます。その後、適切なビューを表示するために、compact 関数を使用して user 変数をビューに渡しています。

これで、/users/{user} にアクセスすると、指定したユーザーの情報を表示するビューが表示されます。

以上が、Laravelでモデルバインディングを使用して新しいコントローラーを作成する手順です。この方法を活用することで、簡潔なコントローラーメソッドを実装し、データベースのレコードを簡単に操作することができます。