Laravel 5播种器类不存在 [英] Laravel 5 Seeder Class Does Not Exist
问题描述
我重新安装了Laravel.我已经从GitHub存储库中的代码(该存储库是Laravel项目,相同版本(5.3))中移过.
I have a fresh Laravel installation. I have moved over code from a github repository that is a Laravel project, same version (5.3).
一切正常,但出于某种原因数据库种子无法运行.
Everything works fine, except for some reason the database seeds wont' run.
例如,我可以从新的Laravel安装中的github加载的迁移中迁移,就像我首先将迁移推送到github的服务器上一样.
For example, I can migrate from the github loaded migrations in the new Laravel installation, just as I would on the server that pushed the migrations to github in the first place.
但是我不能做php artisan db:seed
,这意味着我美丽的小数据库是空的! >:(
But I can't do php artisan db:seed
, which means my beautiful little database is empty! >:(
我得到: ReflectionException类不存在
我尝试过的事情:
-
php artisan optimize
-
php artisan clear:cache
-
composer clearcache
-
composer dump-autoload
php artisan optimize
php artisan clear:cache
composer clearcache
composer dump-autoload
没有一个能解决我的问题. DatabaseSeeder
中的所有内容均拼写正确,并且存在-do-类,它们在我的其他服务器上也可以正常工作,并且再次感谢Github,此全新安装现在具有与我的原始服务器相同的所有文件.
None of which have solved my problem. Everything in DatabaseSeeder
is spelled correctly and the classes -do- exist, they work fine on my other server, and again, this fresh install now has all the same files as my origin server, thanks to Github.
DatabaseSeeder.php:
DatabaseSeeder.php:
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(UserTableSeeder::class);
}
}
编辑-堆栈跟踪:
2017-06-14 19:11:00] local.ERROR: ReflectionException: Class UserTablesSeeder does not exist in /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php:749
Stack trace:
#0 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(749): ReflectionClass->__construct('UserTablesSeede...')
#1 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(644): Illuminate\Container\Container->build('UserTablesSeede...', Array)
#2 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(709): Illuminate\Container\Container->make('UserTablesSeede...', Array)
#3 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(55): Illuminate\Foundation\Application->make('UserTablesSeede...')
#4 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Seeder.php(43): Illuminate\Database\Seeder->resolve('UserTablesSeede...')
#5 /var/www/laravel/database/seeds/DatabaseSeeder.php(14): Illuminate\Database\Seeder->call('UserTablesSeede...')
#6 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(63): DatabaseSeeder->run()
#7 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2292): Illuminate\Database\Console\Seeds\SeedCommand->Illuminate\Database\Console\Seeds\{closure}()
#8 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Database/Console/Seeds/SeedCommand.php(64): Illuminate\Database\Eloquent\Model::unguarded(Object(Closure))
#9 [internal function]: Illuminate\Database\Console\Seeds\SeedCommand->fire()
#10 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Container/Container.php(508): call_user_func_array(Array, Array)
#11 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php(169): Illuminate\Container\Container->call(Array)
#12 /var/www/laravel/vendor/symfony/console/Command/Command.php(261): Illuminate\Console\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Console/Command.php(155): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/laravel/vendor/symfony/console/Application.php(817): Illuminate\Console\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#15 /var/www/laravel/vendor/symfony/console/Application.php(185): Symfony\Component\Console\Application->doRunCommand(Object(Illuminate\Database\Console\Seeds\SeedCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#16 /var/www/laravel/vendor/symfony/console/Application.php(116): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#17 /var/www/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(121): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#18 /var/www/laravel/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#19 {main}
推荐答案
尝试运行
composer dump-autoload
尤其是如果您最近编辑了种子文件的名称
especially if you have recently edited the name of your seeder file
这篇关于Laravel 5播种器类不存在的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!