laravel

Laravel8でダミーデータを作成する方法【コマンドつき】

2021年8月11日

スターウォーズの人形

 

あなた
laravelでダミーデータを入れるにはどうしたらいいですか?

 

今回はこんな疑問に答えていきます。

 

【前提】

・laravel8

 

Laravel8でダミーデータを作成する方法→シーダーを使います

 

結論から話すと、シーダーという機能を使います。

以下のコマンドで、シーダーを作成できます。

php artisan make:seeder モデル名Seeder
//例
// php artisan make:seeder UserSeeder

手動生成コードを紹介

 

手動の場合のコードを紹介します。

さきほど作成したシーダーファイルに以下のように書いていきます。

今回はUserSeeeder.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」を編集していきます。

以下のように記述してください。

 

<?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」で、作成したシーダーを読み込んでいるか確認してください。

 

今回は以上です。

参考資料:公式ドキュメント

 

プログラミングスクールに関する情報

【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】と書かれた画像
【無料あり】プログラミングスクールおすすめランキング【WEBエンジニアになりたい方向け】

  あなたプログラミングスクールに通いたいけどたくさんありすぎてどこがいいのかわかりません。   最近はエンジニアブームということもありプログラミングスクールが増えました。 一方でたくさんありすぎてど ...

続きを見る

返金保証ありのプログラミングスクールランキング【エンジニアが選びました】と表示されたパソコンの画面
【転職保証つき】返金保証ありのプログラミングスクールランキング【エンジニアが選びました】

  あなた返金保証がついているオススメのプログラミングスクールってありますか?   結論から話すと、返金保証つきのプログラミングスクールランキングは次の通りです。   1位:DMMWEBキャンプ  【 ...

続きを見る

wordpress
【無料あり】WEB制作を学べるオンラインスクールランキング【副業で稼ぎたい方向け】

  あなたWeb制作の副業で稼ぎたいけど、どのスクールで学ぶのが良いの? スクール選びで失敗はしたくないです。   ↑このような疑問や不安を解決するべく、現役のWebエンジニアがWEB制作を学べるスク ...

続きを見る

フリーランス
無料あり:フリーランスを目指せるプログラミングスクールランキング【体験をもとに徹底分析しました】

  あなたフリーランスエンジニアを目指すことができるプログラミングスクールってありますか?   最近では、高年収や働きやすさの魅力からフリーランスエンジニアを目指す方も増えてきました。 結論から話すと ...

続きを見る

WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】と書かれた画像
WEB系自社開発企業にいけるプログラミングスクールランキング【現役エンジニアおすすめ】

  あなたWEB系の自社開発企業に就職したいです。 オススメのスクールを教えて下さい。   結論から話すと、WEB系自社開発に行きやすいスクールのランキングは以下の通り。   第1位:テックアカデミー ...

続きを見る

-laravel

© 2024 エンジニアてんし君ブログ