当我运行 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 中运行没有问题
关于Laravel 5 - artisan 种子 [ReflectionException] 类 SongsTableSeeder 不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143315/