環境
php 7.4.1
Mysql Ver 15.1 Distrib 10.4.11-MariaDB
Laravel 7.23.0
composer 1.10.9
ダミーデータを作成してデータベースにダミーデータを挿入します。
氏名が日本語なので、デフォルトの設定で英語になっている設定を途中で日本語に変更して作成していきたいと思います。
それではいってみましょう!
Menu
seederファイルの作成
seederファイルUseTableSeeder.phpを作成する
コマンド(cmd/ターミナル)
1 | php artisan make:seeder UseTableSeeder |
database\seeds
コマンド実行でUseTableSeeder.phpが作成されます。
seederファイル(run)の編集
①ファイルパス
database\seeds\UseTableSeeder.php
$users = factory(App\User::class, 25)->create();
25はダミーデータを作成する数なので変更すれば自分の好きなデータ数が作れます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | use Illuminate\Database\Seeder; class UseTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $users = factory(App\User::class, 25)->create(); } } |
②ファイルパス
database\seeds\DatabaseSeeder.php
【runの編集】
UseTableSeedr.phpを呼び出す下記のようなcallを作成しておきます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { $this->call(UseTableSeeder::class); } } |
オートロード
ここで一旦読込ます。
コマンド(cmd/ターミナル)
1 | composer dump-autoload |
faker
ダミーデータを入れるカラムを選択します。
ファイルパス
database\factories\UserFactory.php
1 2 3 4 5 6 7 8 9 10 11 | $factory->define(User::class, function (Faker $faker) { return [ 'lastname' => $faker->lastname, 'firstname' => $faker->firstname, 'tel' => $faker->phoneNumber, 'email' => $faker->unique()->safeEmail, 'email_verified_at' => now(), 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', 'remember_token' => Str::random(10), ]; }); |
※ここでfakerから出力されるデータを英語から日本語の設定に変更します。
http://dailyrecords.blog/archives/1430#more-1430
データベースにダミーデータを挿入
コマンド(cmd/ターミナル)
1 | php artisan db:seed --class=DatabaseSeeder |
一瞬で25件のダミーデータが作成されます。
※クリックで拡大できます。
まとめ
この作業を手作業で作成したら1時間くらいはかかりますが、Laravelなら簡単にダミーデータが作成ですので重宝できそうです!
【次回】新規登録画面に姓、名、電話番号をHTMLに追加する(View)
以上です。