' php artisan db:seed'不适用于Laravel5.4

时间:2017-04-21 09:14:05

标签: laravel composer-php

我已经开始学习laravel 5.4了。为了填充我的数据库,我完成了BreedsTableSeeder.php文件。

enter code here
class BreedsTableSeeder extends Seeder {
    public function run() {
        DB::table('breeds')->insert([
            ['id' => 1, 'name' => "Domestic"],
            ['id' => 2, 'name' => "Persian"],
            ['id' => 3, 'name' => "Siamese"],
            ['id' => 4, 'name' => "Abyssinian"],
        ]);
    }
}

然后我完成了DatabaseSeeder.php。

enter code here
<?php
    use Illuminate\Database\Seeder;

    class DatabaseSeeder extends Seeder {
        public function run() {
            $this->call(BreedsTableSeeder::class);
        }
    }  
?>

然后,我使用以下命令调用数据库。

  

$ php artisan db:seed

但错误发生如下

  

*     [ReflectionException]     BreedsTableSeeder类不存在*

当我使用时,

  

php artisan db:seed --class =&#34; BreedsTableSeeder&#34;

结果是一样的。

当我使用时,

  

使用Illuminate \ Database \ Eloquent \ Model;在DatabaseSeeder.php文件上

会自动删除。

2 个答案:

答案 0 :(得分:1)

你需要做

composer dumpautoload

创建新课程后

修改

  像这样发生

错误。 “找不到”播种者“

你的播种者缺乏

use Illuminate\Database\Seeder;

答案 1 :(得分:0)

我遇到了这个问题。现在我解决了。

您需要在控制台中运行:

composer dump-autoload

生成新的类映射,然后运行:

php artisan db:seed

我刚刚测试了它。在Laravel 5中它可以正常工作