1. ホーム
  2. ララベル

[解決済み】Laravel 5 - artisan seed 【ReflectionException】クラスSongsTableSeederが存在しない。

2022-03-27 16:16:16

質問

を実行すると php artisan db:seed 以下のようなエラーが発生します。

[ReflectionException] Class SongsTableSeeder does not exist

どうしたんですか?

私の DatabaseSeederクラスです。

<?php

use Illuminate\Database\Seeder;
use Illuminate\Database\Eloquent\Model;

class DatabaseSeeder extends Seeder {

    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();

        $this->call('SongsTableSeeder');
    }

}

私の SongsTableSeederクラスです。

<?php

// Composer: "fzaninotto/faker": "v1.4.0"
use Faker\Factory as Faker;
use Illuminate\Database\Seeder;
use DB;

class SongsTableSeeder extends Seeder {

    public function run()
    {
        $faker = Faker::create();
        $songs = [];
        foreach(range(1, 10) as $index)
        {
            $songs[] = ['title' => $faker->words(rand(1,4))];
        }

        DB::table('songs')->insert($songs);

    }

}

解決方法は?

を追加する必要があります。 SongsTableSeeder をファイル SongsTableSeeder.php があるのと同じディレクトリに DatabaseSeeder.php ファイルを作成します。

そして、コンソールで実行する必要があります。

composer dump-autoload

で新しいクラスマップを生成し、実行します。

php artisan db:seed

今、テストしてみました。Laravel 5で問題なく動作しています。