2017-04-21 66 views
1

我已经开始学习laravel 5.4。为了填充我的分贝,我完成了BreedsTableSeeder.php文件。'php artisan db:seed'在Laravel5.4中不起作用

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人员分贝:种子

但错误发生如下

* [ReflectionException] 类BreedsTableSeeder不存在*

当我使用,

PHP人员分贝:种子--class = “BreedsTableSeeder”

结果是相同的。

当我使用,

使用照亮\数据库\雄辩\型号; on DatabaseSeeder.php文件

它被自动删除。

+0

你可以发表你的播种机的整个代码?我以为你只是缺乏正确的命名空间,或在顶部使用的语句。'用照亮\ Database \ Seeder;' – Christophvh

回答

0

你需要做的

composer dumpautoload 

一旦你创建新类

EDIT发生

错误是这样的。 “类‘播种机’未找到

你播种机缺乏

use Illuminate\Database\Seeder; 
+0

谢谢。你会详细解释一下吗? – dieter

+0

我已经用$ composer dumpautoload完成了,并且再次播种数据库$ php artisan db:seed。错误就是这样发生的。“Class'Seeder'not found” – dieter

+0

你很可能缺乏必要的'use'。参见示例:https://laravel.com/docs/5.4/seeding#writing-seeders –