Ошибка в Laravel 5
 

Ошибка в Laravel 5 «[ReflectionException] Class …TableSeeder does not exist»

29 августа 2017 10:56 Категории: Программирование

Небольшая статья о том, как починить ошибку в Laravel 5 с загрузкой фикстур (Seeder). Данная ошибка встречается у многих любителей популярного PHP фреймворка Laravel. Если вы хотите написать класс (Seeder), который будет заполнять ту или иную таблицу в базе данных записями, то вы точно столкнетесь с данной ошибкой. Выглядит она следующим образом:

kak_ispravit_oshibku_seerel_laraver_php_framework

Класс UserRoleTableSeeder  должен находится в файле database/seeds/UserRoleTableSeeder.php и находится в глобальной области видимости.

Пример файла с созданием тестовых данных:

А также в файле database/seeds/DatabaseSeeder.php необходимо в методе run прописать использование класса UserRoleTableSeeder.

Таким образом команда php artisan db:seed  запустит метод run нужного нам класса и заполнит таблицу строками. А чтобы класс была найден необходимо через менеджер зависимостей composer переформировать пути для загрузки. Для этого необходимо выполнить команду composer dump-autoload .

В результате получим рабочий автолоад нашего класса и успешное выполнение команды.

laravel_seeds_error_no_class_reflection