dieter
dieter

Reputation: 55

'php artisan db:seed' doesn't work in Laravel5.4

I have started learning laravel 5.4. In order to populate my db, I complete BreedsTableSeeder.php file.

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"],
        ]);
    }
}

Then I complete DatabaseSeeder.php.

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

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

Then, I seed the database by calling it, using the following command.

$ php artisan db:seed

but error occurs as follows

* [ReflectionException] Class BreedsTableSeeder does not exist*

When I use,

php artisan db:seed --class="BreedsTableSeeder"

the result is the same.

When I use,

use Illuminate\Database\Eloquent\Model; on DatabaseSeeder.php file

it is automatically deleted.

Upvotes: 2

Views: 836

Answers (2)

Najathi
Najathi

Reputation: 3015

I faced this problem. Now i solved.

And you need to run in your console:

composer dump-autoload

to generate new class map and then run:

php artisan db:seed

I've just tested it. It is working without a problem in Laravel 5

Upvotes: 0

Marcin Orlowski
Marcin Orlowski

Reputation: 75629

You need to do

composer dumpautoload

once you create new classes

EDIT

error occurs like this. "Class 'Seeder' not found

Your seeder lacks

use Illuminate\Database\Seeder;

Upvotes: 1

Related Questions