🫐
Laravel11 modelコマンド
この記事は Laravel11にあるArtisanコマンドを全部調べる Advent Calendar 2024 16日目の記事です。
今回はmodelコマンドについて調べました。
環境
- PHP 8.4.1
- laravel/laravel 11.3.3
- laravel/framework 11.33.2
model:prune
古いレコードを削除する。
php artisan model:prune
実行するとapp/Models配下にあるEloquentモデルクラスの古いレコードを削除します。
対象になるEloquentモデルクラスは次のトレイトを使い、prunableメソッドを実装しておく必要がある。
- \Illuminate\Database\Eloquent\Prunable
- \Illuminate\Database\Eloquent\MassPrunable
オプション | 説明 |
---|---|
--model[=MODEL] |
Eloquentモデルクラス名を指定 |
--except[=EXCEPT] |
Eloquentモデルクラス名を指定 |
--path[=PATH] |
Eloquentモデルクラスがあるディレクトリを絶対パスで指定 |
--chunk[=CHUNK] |
1回の削除する件数 |
--pretend |
レコード数を確認 |
-
--model
を使って対象になるEloquentモデルクラス名を指定できます ※ 複数指定可能 -
--except
を使って対象から除外するEloquentモデルクラス名を指定できます ※ 複数指定可能 -
--path
を使ってapp/Models以外のパスを指定できます ※ 複数指定可能 -
--chunk
を使って1回の削除する件数を指定できます ※ デフォルトは1000件 -
--pretend
を付けると削除はせずに削除対象のレコード数を確認できます
model:show
Eloquentモデルに関する情報を表示する。
php artisan model:show Eloquentモデルクラス名
実行するとEloquentモデルに関する情報を表示します。
引数 | 説明 |
---|---|
model |
Eloquentモデルクラス名を指定 |
-
model
にはEloquentモデルクラス名を指定します- app/Models配下にあるEloquentモデルクラスを指定する場合はクラス名だけ、もしくはネームスペースの途中からの指定します
php artisan model:show User php artisan model:show Eloquent\\User
- app/Models配下以外にあるEloquentモデルクラスを指定する場合はフルネームスペースで指定します
php artisan model:show App\\Database\\User
オプション | 説明 |
---|---|
--database[=DATABASE] |
接続するデータベースを指定 |
--json |
JSON形式で表示 |
-
--database
にはconfig/database.phpに書かれているデータベース接続名を指定できます
未指定の場合はデフォルトのデータベースに接続します -
--json
を使うことでJSON形式で表示します
Discussion