

今回はこんな疑問に答えていきます。
【前提】
・laravel8
Laravel8でダミーデータを作成する方法→シーダーを使います
結論から話すと、シーダーという機能を使います。
以下のコマンドで、シーダーを作成できます。
php artisan make:seeder モデル名Seeder
//例
// php artisan make:seeder UserSeeder
手動生成コードを紹介
手動の場合のコードを紹介します。
さきほど作成したシーダーファイルに以下のように書いていきます。
今回はUserSeeeder.phpというファイル名の場合を想定して書いていきます。
database/seeders/UserSeeder.php<?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; class UserSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->insert([ [ 'name' => 'test1', 'email' => 'test6443367@kom.com', 'password' => Hash::make('password'), ], [ 'name' => 'test2', 'email' => 'test6423367@kom.com', 'password' => Hash::make('password'), ], [ 'name' => 'test3', 'email' => 'test6411367@kom.com', 'password' => Hash::make('password'), ] ]); } }
今回は3人ほどダミーデータを入れたいので、配列で3つのデータを渡しています。
次にDatabaseSeeederで読み込んでいきます。
「database/seeders/DatabaseSeeder.php」を編集していきます。
以下のように記述してください。
database/seeders/DatabaseSeeder.php<?php namespace Database\Seeders; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { $this->call([ UserSeeder::class ]); } }
最後にシーダーを実行します。
以下のコマンドを実行してください。
php artisan db:seed
//Seeding: Database\Seeders\UserSeeder
//Seeded: Database\Seeders\UserSeeder (455.14ms)
//Database seeding completed successfully.
//と出れば成功
DBを確認して、さきほどの3つのデータが新規挿入されていれば成功です。
Illuminate\Contracts\Container\BindingResolutionException Target class [Database\Seeders\UserSeeder] does not exist.と出る場合の対処方法
上記エラーが出る場合は、以下を確認してください。
・クラス名を間違えていないか(UserSeederのはずが、Userになっている)
・指定するクラス名にタイプミスがないか
Database seeding completed successfully.と出るのに、データが入っていない場合
「database/seeders/DatabaseSeeder.php」で、作成したシーダーを読み込んでいるか確認してください。
今回は以上です。
参考資料:公式ドキュメント