Laravel 5 - semilla artesanal [ReflectionException] La clase SongsTableSeeder no existe

Resuelto Sasha asked hace 9 años • 15 respuestas

Cuando ejecuto php artisan db:seed aparece el siguiente error:

[ReflectionException] Class SongsTableSeeder does not exist

¿Qué está pasando?

Mi clase 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');
    }

}

Mi clase 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);

    }

}
Sasha avatar Oct 01 '14 21:10 Sasha
Aceptado

Debe colocarlo SongsTableSeederen SongsTableSeeder.phpel mismo directorio donde tiene su DatabaseSeeder.phparchivo.

Y necesitas ejecutar en tu consola:

composer dump-autoload

para generar un nuevo mapa de clases y luego ejecutar:

php artisan db:seed

Lo acabo de probar. Está funcionando sin problemas en Laravel 5.

Marcin Nabiałek avatar Oct 01 '2014 14:10 Marcin Nabiałek

Lo resolví haciendo esto:

  1. Copie el contenido del archivo.
  2. Remover archivo.
  3. Ejecute el comando: php artisan make:seeder.
  4. Copie el contenido del archivo nuevamente en este archivo.

Esto sucedió porque hice un cambio en el nombre del archivo. No sé por qué no funcionó después del cambio.

Ron van Asseldonk avatar Feb 10 '2016 12:02 Ron van Asseldonk

El archivo SongsTableSeeder.php debe estar en el directorio base de datos/seeds o en su subdirectorio.

Necesitas ejecutar:

composer dump-autoload

y luego:

php artisan db:seed

o:

php artisan db:seed --class=SongsTableSeeder
simhumileco avatar Aug 03 '2017 12:08 simhumileco