LaravelでDBに初期データを設定する(Seederの作成)

LaravelのSeeder(シーダー)を使用して、DBに初期データを自動登録します。

導入

LaravelにはテストデータなどのデータをDBに設定してくれる機能があります。

マスタデータなどはこの設定をしておくと作成環境を移すときに少し便利…かもしれません?

そんなSeederの使い方です。

 

実装方法

Seederを実行する前にはDBにテーブルが作成されている必要があります。

テーブルの作成にはMigration(マイグレーション) を使って作成しますが、別記事にまとめていますのでそちらを御覧ください。

 

手順としては、

  1.  Seederファイルを作成
  2.  内容作成
  3.  Seeder実行

となります。

 

1. Seederファイルを作成

今回は ” TeamMst ” というテーブルのSeederを作成します。

最初に以下のコマンドを Laravelプロジェクトのルートに移動してから実行します。

 

実行すると、 …/database/seeds/〇〇Seeder.php のようにファイルが新規作成されていると思います。

 

2. 内容作成

続いて内容ですが、以下のように書けば良いです。

 

上記コード内のTeamMstという名前は適宜変更してください。

あとテーブルのスキーマによってinsertするデータは当然変わりますのでご注意ください。

 

3. Seeder実行

作成できたSeederを実行する場合には以下のコマンドを入力します。

$ php artisan db:seed は insert する処理を実行するだけなので、ユニークIDをSeeder内で書いていなければ、複数回コマンド実行すると複数回データがinsertされます。

 

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です