Estoy siguiendo un tutorial llamado API incremental en laracasts de Jeffrey Way.
Hay una codificación diferente entre Laravel 4 faker class seeding y laravel 5.4.
Todavía seguí las mismas líneas de código de los tutoriales "Seeders Reloaded". Ahora, estoy atascado con "Class LessonTagTableSeeder no existe"
TagTableSeeder
class TagsTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $faker = Faker::create('App\Tag'); for($i=1; $i <= 10; $i++) { DB::table('tags')->insert([ 'name' => $faker->word, 'created_at' => \Carbon\Carbon::now(), 'updated_at' => \Carbon\Carbon::now(), ]); } }LecciónTagTableSeeder
use Illuminate\Database\Seeder; use Faker\Factory as Faker; use App\Lesson; use App\Tag; class LessonTagTableSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { $faker = Faker::create(); $lessonIds = Lesson::pluck('id')->all(); $tagIds = Tag::pluck('id')->all(); for($i=1; $i <= 30; $i++) { DB::table('lesson_tag')->insert([ 'lesson_id' => $faker->randomElement($lessonIds), 'tag_id' => $faker->randomElement($tagIds) ]); } }Sembrador de bases de datos
use Illuminate\Database\Seeder; use Illuminate\Database\Eloquent\Model; use App\Lesson; use App\Tag; use DB; class DatabaseSeeder extends Seeder { /** * Run the database seeds. * * @return void */ public function run() { DB::statement('SET FOREIGN_KEY_CHECKS=0'); Lesson::truncate(); Tag::truncate(); DB::table('lesson_tag')->truncate(); Model::unguard(); $this->call('LessonsTableSeeder'); $this->call('TagsTableSeeder'); $this->call('LessonTagTableSeeder'); DB::statement('SET FOREIGN_KEY_CHECKS=1'); }Pude sembrar TagsTableSeeder con php artesanal db:seed --class=TagsTableSeeder
Cuando ejecuto "php craftedb db:seed --class=LessonTagTableSeeder", aparece el siguiente mensaje:
[ReflectionException] La clase LessonTagTableSeeder no existe
¿Tienes alguna idea de cómo editar el código anterior? Cualquier ayuda es apreciada
Cuando realiza cambios en los archivos seeder y no refleja sus cambios, debe ejecutar la carga automática de volcado del compositor.
puede usar cualquiera de los siguientes comandos
$ composer dump-autoload $ composer du $ composer dump $ composer dump-autoload -oLuego intente ejecutar su comando db:seed nuevamente y reflejará sus cambios.
¿Qué hace la carga automática de volcado del compositor?
composer dump-autoload no descargará nada. Simplemente regenera la lista de todas las clases que deben incluirse en el proyecto (autoload_classmap.php). Ideal para cuando tienes una nueva clase dentro de tu proyecto.
Idealmente, ejecuta composer dump-autoload -o , para una carga más rápida de sus páginas web. La única razón por la que no está predeterminado es porque lleva un poco más de tiempo generarlo (pero solo se nota un poco)
Asegúrese de que el archivo se llame LessonTagTableSeeder.php y esté en el mismo directorio que las otras sembradoras. Luego ejecuta este comando:
composer duDespués de eso, intente ejecutar la sembradora nuevamente.
ejecuta este comando y luego inténtalo de nuevo
Composer dump-autoload -o