LaravelでSeeder+Factoryの使い方
Laravelで開発していて、SeederとFactoryの使い方でこんがらがったので、整理しました👍
目次
用意するもの
以下は新しく作成するときに必要なファイルです。
- modelファイル
- migrationファイル
- Seederファイル
- Factoryファイル
簡単に用意する方法
上記4枚のファイルをartisanを使って簡単に作成する方法があります。
1 |
php artisan make:model Sample -msf |
artisanでmodelを作成します。
「-」でオプションを付与できるのでmigrationのm、Seederのs、Factoryのfを付与します。
書く内容
それぞれのファイルに書く内容は以下です。
modelファイル
$fillableを作成した方がいいです👍
migrationファイル
テーブルの定義を書く。
Seederファイル
実行するFactoryファイルを追加する。
Factoryファイル
実際に作成したいテストのデータを書く。
fakerを使用するのが一般的と思われる。
DatabaseSeederファイル
上記の内容に加えて、Seederを司る大元のファイルであるDatabaseSeederに今回で作成したSeederファイルを登録しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php namespace Database\Seeders; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { $this->call([ SampleSeeder::class ]); } } |
実行方法
migrationファイルでデータを格納する受け皿を用意しました。
Modelを作成して、生成するデータの雛形を作成しました。
Factoryファイルで雛形を具体的に書きました。
Seederファイルでその雛形を実際に作成します。
以下のコマンドを実行してください。
1 |
php artisan migrate:refresh --seed |
-
前の記事
macOSでLaravel Sailをインストールする方法 2022.02.08
-
次の記事
【Laravel】Factoryで例外を作るやつ 2022.10.07