🐘

Laravel でモデル作成時によく使用するオプション

2024/09/25に公開

状況

モデル作成時にコントローラなども合わせてコマンドで作成すると良い.よく忘れるのでまとめ.

Web のみ作成する場合

Web の場合は,オプションで全部まとめて作成できる.まとめて作成した場合,コントローラのファイルはリクエストクラスが指定された状態で作成される.とても便利.

作成されるもの

  • モデル
  • -r リソースコントローラ
  • -m マイグレーションファイル
  • -f ファクトリ
  • -R リソースコントローラのリクエストクラス
php artisan make:model Post -rmfR

Api のみ作成する場合

Api のみ作成する場合は,下記の点を考慮してコントローラとリクエストは個別のコマンドを使用したほうが良さそう.

  • Api のコントローラは Api ディレクトリに置きたい(オプションで作成するとディレクトリ外に作成される).

  • リクエストを作成するオプションを使用する場合,-r オプションまたは --api を同時に使用する必要があるため.

php artisan make:model Post -mf
php artisan make:controller Api/PostController --api
php artisan make:request CreatePostRequest
php artisan make:request UpdatePostRequest

# 作成されたコントローラでリクエストクラスの指定が必要

Web と Api の両方を作成する場合

また,Web のコントローラと Api のコントローラ両方を作成する場合は下記のようになる.

# 🔽 モデル,マイグレーションファイル,ファクトリ,Webのリソースコントローラ,リクエストをまとめて作成
php artisan make:model Post -rmfR

# 🔽 Apiのリソースコントローラを作成(コントローラのファイルでリクエストクラスの指定が必要)
php artisan make:controller Api/PostController --api

まとめ

Web の場合と Api の場合でコントローラの作成方法が異なるため,それぞれの場合で使い分けると良さそう.

以上だ( `・ω・)b

GitHubで編集を提案

Discussion