はじめに
- シーダを生成するには、make:seeder Artisanコマンドを実行します。
php artisan make:seeder UsersTableSeeder
- database/seeders/UsersTableSeeder.phpファイルが作成される
- 下記のサンプルはusersテーブルに20件のダミーデータを登録するサンプルです。
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
class UsersTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$users = array();
for($i = 0; $i < 20; $i++){
array_push($users,[
'name' => Str::random(10),
'email' => Str::random(10).'@gmail.com',
'password' => Hash::make('password'),
]);
}
//
DB::table('users')->insert($users);
}
}
- database/seeders/DatabaseSeeder.phpファイルに作成したSeederを追記してあげる必要がある。
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// \App\Models\User::factory(10)->create();
$this->call(UsersTableSeeder::class);
}
}
Seederの実行
$ php artisan db:seed
Seeding: Database\Seeders\UsersTableSeeder
Seeded: Database\Seeders\UsersTableSeeder (1,621.02ms)
Database seeding completed successfully.
確認
- ダミーデータが20件生成されていることを確認することができる
mysql> select * from users;
+----+-----------------+--------------------------+-------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+
| id | name | email | email_verified_at | password | remember_token | created_at | updated_at |
+----+-----------------+--------------------------+-------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+
| 2 | dk9GREu3pE | QmNE2f8zFI@gmail.com | NULL | $2y$10$Kds6nS.CUkPMOgyPpYnOo.BP/8YRVkW51NzKo4nwnTBpBUdrNx8j6 | NULL | NULL | NULL |
| 3 | tdrCZW7Z6y | OJyfDKXqiq@gmail.com | NULL | $2y$10$H9IFkphs6tq4oH07Yxqw/e7WaiAvoLEZFxQ1Yu4jTGOxK.diK3yJK | NULL | NULL | NULL |
| 4 | RfV3PpEAJM | 7mieERWGUx@gmail.com | NULL | $2y$10$AwB.XaNZ9VGarsEoo1mzJ.ICgngU0dGe4ki0SeILewjOOXPaAf0c6 | NULL | NULL | NULL |
| 5 | pnw3o8mcBU | wQBaDd4XtG@gmail.com | NULL | $2y$10$csnYNcWoe99zC9K4u1WIf.SCQ3/3JRMGuM.rUgPhCP.rbq3PpkkEu | NULL | NULL | NULL |
| 6 | zL43E2MxJm | iES7GvXbKd@gmail.com | NULL | $2y$10$Afx4tjz2G8nnC4sD6CqlyuFAvRsEKi3JN4dlSlvqpE0I3PSK54QNG | NULL | NULL | NULL |
| 7 | j0vXF4omvb | clW7EPH1Qv@gmail.com | NULL | $2y$10$WhtDNZjBDXwU3hyadPr2uetnzElHFojrJeAo342K1cNIyILffBOCC | NULL | NULL | NULL |
| 8 | naJQZk0h9j | fHBYobcIrD@gmail.com | NULL | $2y$10$JSfb4ylA5IFFDKovrVnW/OX4b6w8DOOFVSsKmEglXV88vWvOrURWe | NULL | NULL | NULL |
| 9 | SsfNaFUsmk | Wn6PZfjEsO@gmail.com | NULL | $2y$10$seL0LtIG81Me5kGF3kEXE.6MmSApCA7OhOJa/oHMmZoQuy0PGOK5C | NULL | NULL | NULL |
| 10 | fRE0SvWjCw | anTaj2hLBR@gmail.com | NULL | $2y$10$nT/u.DOc.rqeZbO1v1.pEeZ.S8kg7l0A0/0j2sCFr8d..I9EA/P2G | NULL | NULL | NULL |
| 11 | 2xfPeOSq44 | qVVunrBnMj@gmail.com | NULL | $2y$10$8cauH47FfxIcugx339T8juPunNpHRg8mPGFgV2IBlM32zB60..vcS | NULL | NULL | NULL |
| 12 | 1ig0wynLRW | kMx4gxpyQk@gmail.com | NULL | $2y$10$3uUt2TbJsa3gTY9RzbB4aeizCB1utfRyjgyjZA6Bk5RiHsX1lctHS | NULL | NULL | NULL |
| 13 | 9T8wka2QYS | MbQoLGpxiD@gmail.com | NULL | $2y$10$m6yPoT.dfj03PIpmWuNF.uEk4SNVX3c8BhaH7wBi1y0aixlplwiCe | NULL | NULL | NULL |
| 14 | w13yMjS1dg | XNGacafx4n@gmail.com | NULL | $2y$10$dOMaqQ0Hq5TOOjJRsEQbFOZuzVsB7kjvKpjhlkICbSqiXdFkJp6kW | NULL | NULL | NULL |
| 15 | uCFtvemmwm | SlG9Xdf3ME@gmail.com | NULL | $2y$10$j5CbiBAGqccunLYZaQtkBeh699LhGD0n5e3P/Czbi3hxFF.AxYHYW | NULL | NULL | NULL |
| 16 | KUObzrLwPQ | MWtMtBwzi3@gmail.com | NULL | $2y$10$qROkCfVblRLBQ.w8cHR15OhhBlbVbIIHeff1KA1ppTU0G.1Ac5Kcy | NULL | NULL | NULL |
| 17 | uwehY4hUYP | fi0S3wbBe0@gmail.com | NULL | $2y$10$pAimotkAm5Vax8JsNzywtuFmpTWO9d6bNb3trBRwUWgtj.r57pBi2 | NULL | NULL | NULL |
| 18 | 2RPWsZ2jck | NTQeZVIOUg@gmail.com | NULL | $2y$10$DEcI5a7IciBu51AXm0YSjOcmYUsE6MQx750L15Uu8y09tP09FgPUy | NULL | NULL | NULL |
| 19 | gRg8V1ALkj | sabY861R4q@gmail.com | NULL | $2y$10$O5knLOkd7bFdOKj60Bqn0uiWI4EDdQBVXwdZQ.SbnlOnH5YOd2lga | NULL | NULL | NULL |
| 20 | EemgcSToTO | Lymx9MFga5@gmail.com | NULL | $2y$10$XH7j.oGMP9wZ6XgxFOckj.LHHZs.nrN5BA8BUHuJp6Ng8QxjgYSA6 | NULL | NULL | NULL |
| 21 | xsJVieWY4C | WB1q67CNA8@gmail.com | NULL | $2y$10$kY6n0cJuf2giiMDz.kv2HedVpdKofn.HKh60ihionxeB8Jd1onoi6 | NULL | NULL | NULL |
+----+-----------------+--------------------------+-------------------+--------------------------------------------------------------+----------------+---------------------+---------------------+
20 rows in set (0.02 sec)