PR

【Laravel】マイグレーションファイルとモデルを同時に作成する方法

アイキャッチ画像

Laravel開発でテーブルを作成するときに「マイグレーションファイルを作成 → マイグレーション → モデルを作成」の流れは一連の作業になる場合が多く、できれば時短したいところ。

そこで、本記事ではマイグレーションファイルとモデルを同時に作成する方法と同時に作成することで防げるミスを紹介します。

手順

さっそく、マイグレーションファイルとモデルを同時に作成する方法を紹介します。
シンプルです。

php artisan make:model Message --migration

と、ルートディレクトリでコマンドを打てば良いです。最後に”–migration”を付けるのがポイントです。
※Messageはモデル名です。

マイグレーションファイルとモデルを同時に作成するメリット

一言で言うと、テーブル(データベース)とモデルの連携が失敗して、エラーが発生するのを防げることです。

テーブル名messages
モデル名Message
テーブル名とモデル名の例

先程の例であれば、上記のようにモデル名の頭文字を小文字にして、複数形にすれば良いだけです。

しかし、

  • 名前が長い
  • 名前が複数の単語で構成されている
  • 名前に使われている英単語が集合名詞

このような場合、入力ミスをしたり、命名規則を知らずに誤った名前をテーブル名やモデル名に設定していると、エラーが発生します。

特に、命名規則は少々ややこしいので、しっかり抑えておくことをおすすめします。

最後の

名前に使われている英単語が集合名詞

を解説します。

集合名詞とは、人や物の集合体を指す名詞です。

ここで重要なのは、「テーブル名だからといって、安易に”s”を付けてはいけない」ということです。

例えば、よく知られているstaff(スタッフ)という英単語は集合名詞です。
したがって、下記のように命名するとエラーが発生します。

テーブル名staffs
モデル名Staff
誤ったテーブル名とモデル名の例

ちなみに、私もこのミスをやったことがあります(笑)

テーブル名を【staff】に変更するとエラーは解消されます。

このように、ちょっとした英語の知識が必要とされることあるので、マイグレーションファイルとモデルを同時に作成することでミスを防ぐことができるわけです。

まとめ

Laravelでマイグレーションファイルとモデルを同時に作成する方法を紹介しました。

やり方はコマンドを打てば一発でしたが、同時に作成することが推奨される場合も確認しました。
本記事があなたのLaravel開発の手助けになれば幸いです。

以上、『【Laravel】マイグレーションファイルとモデルを同時に作成する方法』でした。