Laravel 5种子

jst*_*ein 5 php laravel laravel-seeding

我正在阅读"Laravel 5 Essentials"中的教程.当我尝试使用命令播种数据库时

php artisan db:seed

我收到错误

[ReflectionException]
  Class BreedsTableSeeder does not exist
Run Code Online (Sandbox Code Playgroud)

BreedsTableSeeder的代码定义如下:

<?

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

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"],
        ]);
    }
}
Run Code Online (Sandbox Code Playgroud)

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(UserTableSeeder::class);
        $this->call('BreedsTableSeeder');
    }
}
Run Code Online (Sandbox Code Playgroud)

1当我在Sublime中加载示例代码时,我注意到"DB"有不同的颜色,这使我怀疑这与DB命名空间有关.因为我是Laravel的新手,所以我不确定应该在哪里定义DB.

我也尝试过执行

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)

但那没用.有谁知道如何解决这个问题?谢谢!

小智 5

尝试:

php artisan make:seeder BreedsTableSeeder
Run Code Online (Sandbox Code Playgroud)

可以找到详细信息-Laravel播种