【Laravel】artisanのmake:modelコマンドを解説

チートシート

Laravel 10.xのartisanの「make:model」コマンドを解説します。

Description

新しいEloquentモデルクラスの作成

オプションによってModelに付随するMigrationControllerなども作成する。

Usage

php artisan make:model [-a|--all] [-c|--controller] [-f|--factory] [--force] [-m|--migration] [--morph-pivot] [--policy] [-s|--seed] [-p|--pivot] [-r|--resource] [--api] [-R|--requests] [--test] [--pest] [--] <name>
Bash

Arguments

引数必須説明
name必須モデルの名前

Options

オプション省略形必須説明
allafactory,seed,migration,controller,policy,resourceのオプションをつけたのと同じ動作
controllercモデル用の新しいコントローラーを作成(make:controllerを実行)
factoryfモデル用の新しいファクトリーを作成(make:factoryを実行)
forceモデルが既に存在する場合でもクラスを作成
migrationmモデル用のマイグレーションファイルを新規作成(make:migrationを実行)
morph-pivot生成されるモデルがカスタム多相性中間テーブルモデルであるべきかを
policyモデル用の新しいポリシーを作成
seedsモデルの新しいシーダーを作成(make:seederを実行)
pivotp生成されるモデルがカスタム中間テーブルモデルであるべきか
resourcer生成されるコントローラがリソースコントローラであるかどうか
api生成されるコントローラがAPIリソースコントローラであるかどうか
requestsRフォームリクエストクラスを新規に作成し、リソースコントローラで使用
testModelに付随するPHPUnitのテストを生成
pestモデルに付随するPestテストを生成

Examples

no options

php artisan make:model Foo
Bash
出力結果
   INFO  Model [app/Models/Foo.php] created successfully.  
app/Models/Foo.php
<?php

namespace App\Models;

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

class Foo extends Model
{
    use HasFactory;
}
PHP

Stub

OptionStub file name
model.stub
pivotmodel.pivot.stub
morph-pivotmodel.morph-pivot.stub

Source

著者

Webエンジニア歴30年、フリーランスバックエンドエンジニア。

PHP歴約30年(Laravel 7年・FuelPHP 5年・CakePHP・自作FW)、
JavaScript歴約20年(React・Vue各4年)。
AWS(EC2 / CloudFront / RDS / API Gateway など)・
GCP(BigQuery)を使ったバックエンド開発を中心に、
複数の事業会社・受託案件でシステム設計から実装・運用まで担当しています。

PHPがバージョン4の時代から書いており、
Laravelが普及する前のフレームワーク乱立期も経験しています。
「昔はこう書いていたが今はこう」という変遷を肌で知っているエンジニアとして、
単なるコマンドの使い方だけでなく、なぜそうするのかの背景まで伝えることを意識して書いています。

このブログでは、実務で実際に詰まった箇所・調べたこと・気づいたことを
そのまま記事にしています。誰かの「詰まり」が解決するきっかけになれば幸いです。

千原 耕司をフォローする

役にたったと思ったら応援をお願いします m(._.)m

チートシート
スポンサーリンク
シェアする
千原 耕司をフォローする
タイトルとURLをコピーしました