usertableseeder seeds seeder reflectionexception not found exist does create container php laravel laravel-5 artisan

php - seeds - reflectionexception class does not exist in file



ReflectionException: Class ClassName no existe-Laravel (14)

Tan pronto como estoy escribiendo php artisan db:seed command.

Me da un error como:

[ReflectionException]
La clase UserTableSeeder no existe

root@dd-desktop:/opt/lampp/htdocs/dd/laravel# php artisan db:seed

Aquí, está mi página UserTableSeeder.php y DatabaseSeeder.php

UserTableSeeder.php

<?php use Illuminate/Database/Seeder; use Illuminate/Database/Eloquent/Model; class UserTableSeeder extends Seeder { public function run() { DB::table(''users'')->delete(); User::create(array( ''name'' => ''Chris Sevilleja'', ''username'' => ''sevilayha'', ''email'' => ''[email protected]'', ''password'' => Hash::make(''awesome''), )); } }

DatabaseSeeder.php

<?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(); Eloquent::unguard(); $this->call(''UserTableSeeder''); //$this->call(UserTableSeeder::class); //Model::reguard(); } }

Me refiero a este Link para diseñar y desarrollar la página de inicio de sesión. Por favor, ayúdame a resolver este problema. Gracias.


Cuando está buscando el archivo de la clase seeder, puede ejecutar el compositor dump-autoload . Cuando lo ejecuta nuevamente y está buscando el Modelo, puede hacer referencia al mismo en el archivo de la sembradora. Al igual que,

use App/{Model};


Debe asignarlo a un espacio de nombre para que se encuentre.

namespace App/Http/Controllers;


He recreado la clase, y funcionó. Copie todo el contenido del archivo, elimine el archivo y ejecute php artisan make:seeder ModelTableSeeder . Porque el composer dump-autoload no funcionó para mí.


No está estrictamente relacionado con la pregunta, pero recibió el error ReflectionException: Class config does not exist

.env una nueva variable .env con espacios en ella. Ejecutando php artisan config:clear me dijo que cualquier variable .env con espacios debería estar rodeada por " s " .

¿Esta y mi aplicación indicaron que funcionaba nuevamente, no es necesario que la configuración esté clara y todavía está en desarrollo en Laravel Homestead (5.4)


No estoy escribiendo como la respuesta para esta pregunta. Pero quiero ayudar a otros si enfrentan el mismo error, pero las respuestas mencionadas aquí no funcionan. También probé todas las soluciones mencionadas aquí. Pero mi problema fue con el espacio de nombres que utilicé. El camino fue incorrecto

El espacio de nombres que utilicé es:

namespace App/Http/Controllers;

Pero en realidad el controlador reside dentro de una carpeta llamada '' FrontEnd ''

entonces la solución es cambiar el espacio de nombres a:

namespace App/Http/Controllers/Frontend;


Por alguna razón tuve que ejecutar el composer dumpautoload -o . Aviso bandera -o que significa con optimización. No tengo idea de por qué funciona solo con eso, pero pruébalo. Quizás ayuda a alguien.


Puede intentar escribir la app en mayúsculas, así que la App . Trabajó para mi.


Realiza una composer update , luego el composer dump-autoload .

Si lo anterior no resuelve el problema , cambie el classmap de classmap en su archivo composer.json modo que contenga la ruta relativa al proyecto para sus archivos php:

"autoload-dev": { "classmap": [ "tests/TestCase.php", "database/seeds/UserTableSeeder.php" //include the file with its path here ] }, /** ... */

y poco después, realiza un composer dump-autoload , ¡y debería funcionar ahora como una brisa !

Editar por @JMSamudio

Si el composer dump-autoload no se encuentra, simplemente active esta opción composer config -g -- disable-tls true .


Según mi experiencia, esto aparecerá la mayor parte del tiempo cuando la clase a la que intentas llamar tiene algunos errores y no se puede compilar. Verifique si la clase que no se está reflejando se puede ejecutar por sí misma.


Tengo el mismo problema con una class . Intento composer dump-autoload y php artisan config:clear pero no resuelvo mi problema.

Luego decidí leer mi código para encontrar cualquier problema, luego encontré el problema. El problema en mi caso es que solo falta una coma en mi clase. Ver mi código de modelo:

{ protected $fillable = [''agente_id'', ''matter_id'', ''amendment_id'', ''tipo_id'']; public $rules = [ ''agente_id'' => ''required'', // <= See the comma ''tipo_id'' => ''required'' ]; public $niceNames = [ ''agente_id'' => ''Membro'', // <= This comma is missing on my code ''tipo_id'' => ''Membro'' ]; }


Tuve este problema y pude resolverlo haciendo php artisan config:cache . El problema era que ya había ejecutado ese comando anteriormente y luego incluí algunas nuevas clases de semillas. Las configuraciones en caché no reconocieron las nuevas clases. Entonces, ejecutar ese comando nuevamente funcionó.

Si te ves haciendo cambios frecuentes para incluir nuevas clases de semillas, considera ejecutar php artisan config:clear . Esto le permitirá realizar todos los cambios que desee y luego, después de las pruebas, puede ejecutar config:cache nuevo para que las cosas funcionen de manera óptima nuevamente.


Un composer dump-autoload debería arreglarlo.


intenta usar el siguiente comando

php artisan db:seed --class=DatabaseSeeder


composer dump-autoload

esto lo arreglará