2017-06-14 75 views
1

我有一個新鮮的Laravel安裝。我已經從github存儲庫中移除代碼,該存儲庫是Laravel項目的相同版本(5.3)。Laravel 5播種機不存在

一切工作正常,除了某些原因數據庫種子不會'運行。

例如,我可以從新的Laravel安裝中的github加載遷移中遷移,就像我在將服務器遷移到github上的那樣。

但我不能做php artisan db:seed,這意味着我美麗的小數據庫是空的! > :(

我得到:ReflectionException類不存在

我曾嘗試:

  1. php artisan optimize
  2. php artisan clear:cache
  3. composer clearcache
  4. composer dump-autoload

沒有一個解決了我的問題。在DatabaseSeeder中的所有內容拼寫正確,並且存在類-do-,它們在我的另一臺服務器上工作良好,並且此新安裝現在與我的原始服務器具有相同的文件,這要歸功於Github。

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} 
+0

您是否製作了數據庫播種器? – Derek

+0

如果是這樣,請提供該代碼 – Derek

+0

@Derek代碼添加 –

回答

0

我解決此問題得到了通過挑選出一個單獨的類:

php artisan db:seed --class=UserTableSeeder 

至於反對db:seed沒有任何爭論,但我仍然想知道爲什麼我必須這樣做。

同樣,我沒有UserTablesSeeder在我的代碼,以便不知道任何地方,爲什麼日誌顯示,這是種嘗試,當我從來沒有宣佈。

它永遠是UserTableSeeder沒有sTable

編輯:現在我的自定義中間件不工作...似乎是一個問題的全新安裝不順心一些從GitHub ...新的代碼,如果任何人都可以提供一個更好的答案,我會欣然接受。

+0

仍然可能是作曲家的問題。徹底刪除供應商目錄和composer.lock文件。之後,再次運行作曲家進行全新安裝。如果可以,請檢查自動加載文件中某處的UserTables的供應商/作曲家目錄和grep。 – Robert

+0

@羅伯特好吧,我會盡力而爲,回覆你。我會安裝並從github全部拉出來,看看我能否發現任何問題。謝謝你的幫助。 –