k.watanabe技術者ブログ

k.watanabe

seederを使って初期データを登録する

はじめに

seederを使ってDBにデータを登録する手順をまとめました。


参考記事:LaravelでSeederを使う方法!(初期データを登録する)

手順1: seederファイルを作成する

まず、以下のコマンドでseederファイルを作成する。database/seedersに生成される。


  1. php artisan db:seed --class ArticleSeeder

手順2: seederクラスに登録した内容を編集する

※DBファサードを使って登録をするので【use Illuminate\Support\Facades\DB;】 を記載するのを忘れずに。


  1. <?php
  2. namespace Database\Seeders;
  3. use Illuminate\Database\Console\Seeds\WithoutModelEvents;
  4. use Illuminate\Database\Seeder;
  5. use Illuminate\Support\Facades\DB;
  6. class ArticleSeeder extends Seeder
  7. {
  8.     /**
  9.      * Run the database seeds.
  10.      *
  11.      * @return void
  12.      */
  13.     public function run()
  14.     {
  15.         //
  16.         DB::table('articles')->insert([
  17.             [
  18.                 'title' => 'seederを使って初期データを登録する',
  19.                 'content' => 'seederを使ってDBにデータを登録する手順をまとめました。',
  20.             ],
  21.             
  22.         ]);
  23.     }
  24. }

手順3: DatabaseSeederファイルに記載する

runメソッドに実行したいseederファイル名を記載する。


  1. <?php
  2. namespace Database\Seeders;
  3. // use Illuminate\Database\Console\Seeds\WithoutModelEvents;
  4. use Illuminate\Database\Seeder;
  5. class DatabaseSeeder extends Seeder
  6. {
  7.     /**
  8.      * Seed the application's database.
  9.      *
  10.      * @return void
  11.      */
  12.     public function run()
  13.     {
  14.         // \App\Models\User::factory(10)->create();
  15.         // \App\Models\User::factory()->create([
  16.         // 'name' => 'Test User',
  17.         // 'email' => 'test@example.com',
  18.         // ]);
  19.         $this->call([
  20.             AdminSeeder::class,
  21.             UserSeeder::class,
  22.             ArticleSeeder::class,
  23.         ]);
  24.     }
  25. }

手順4: seederファイルを実行する

以下のartidsanコマンドでSeederを実行する。


  1. $ php artisan db:seed --class ArticleSeeder

DBに登録されているのを確認する。

記事一覧に戻る

プロフィールに戻る