【ダミーデータの作成】laravel8系でseederを使ってダミーデータを作成してみた。

今回はseederを使ってダミーデータを作成してみます。

使うのはlaravel8系です。

シーダーの作成

#シーダ名はアッパーキャメル型で書く。 ex.TestTableSeeder php artisan make:seeder シーダー名TableSeeder
Code language: CSS (css)

こちらのコマンドを使ってseederを作成します。

database/seeds/シーダー名.php <?php namespace Database\Seeders; use Illuminate\Database\Seeder; use Illuminate\Support\Facades\DB; class UsersTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::table('users')->insert([ [ 'name' => 'test', 'email' => 'test@test', 'password' => bcrypt('testtest'), ], [ 'name' => 'test1', 'email' => 'test1@test', 'password' => bcrypt('password1'), ], [ 'name' => 'test2', 'email' => 'test2@test', 'password' => bcrypt('password2'), ], [ 'name' => 'test3', 'email' => 'test3@test', 'password' => bcrypt('password3'), // ], ]); } }
Code language: HTML, XML (xml)

パスワードはbcryptで暗号化が必要になります。ただの文字列をinsertで入力しても作成できません。

今回はuserテーブルの中にダミーデータを入れていきます。

userテーブルの内容は以下になります。

基本的に必要なのは

  • name
  • email
  • password
database/migrations/マイグレーションファイル <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateUsersTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('users', function (Blueprint $table) { $table->id(); $table->string('name'); $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); $table->rememberToken(); $table->foreignId('current_team_id')->nullable(); $table->string('profile_photo_path', 2048)->nullable(); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('users'); } }
Code language: HTML, XML (xml)

コマンドで実行できるようにする

そして、次に作ったシーダをコマンドで実行したときに使ってもらえるようにします。

database/seeds/DatabaseSeeder.php //~~~~~~~~省略~~~~~~~~ public function run() { $this->call([ UsersTableSeeder::class, // User追加のseederを呼び出すように追加 ]); }
Code language: PHP (php)

ダミーデータ作成

そしてコマンドを実行すると完成。

$ php artisan db:seed

phpmyadminを確認しに行くと、データベースの中身が埋まっていると思います。

まとめ

今回は、手動で何件かのダミーデータを作成しました。

ほかにも機械的に大量のダミーデータを作成することもできます。

CRUD機能を【Laravel8系】で作ってみる。 ダミーデータ入力

↑こちらも参考にしてみてくださいね。

参考ブログ↓

【Laravel】ユーザーをシーダーで作る

3 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA