2013-08-31 115 views
4

因此很明顯,現在當我要遷移我的數據庫使用過程中的工作Laravel 4遷移:類未發現異常

{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class '' not found","file":"C:\\xampp\\htdocs\\l4crm\\vendor\\laravel\\framework\\src\\Illuminate\\Database\\Migrations\\Migrator.php","line":301}}[Finished in 1.3s] 

一切我得到這個奇怪的錯誤,並不要緊我嘗試哪些文件遷移(我嘗試只遷移一個表,然後另一個,他們都給出了相同的錯誤)

任何想法?我一直盯着自己一個多小時。

此外,「作曲家轉儲自動加載」並沒有辦法。

我的composer.json也自動加載遷移。

+2

嘗試刪除'引導/ compiled.php'文件和測試您的應用程序。那麼你可以運行'php artisan optimize'來重新創建它。 –

+1

我沒有看到這個文件。只有在/ bootstrap下的文件是autoload.php,paths.php和start.php – KennyV

+0

找不到的類「奇怪」。以某種方式遷移,如果空字符串類名傳遞給遷移者。遷移目錄中存在任何非類文件? – fideloper

回答

9

我似乎已經解決了這個問題。

對於容易的緣故,以確定遷移的順序我已經改名爲遷移文件,以類似

1_create_users_table.php 
2_create_..._table.php 
3_create_..._table.php 

等。顯然這給了我錯誤,它真的不得不停留在「yyyy_mm_dd_hhmmss_create_xxx_table.php」格式。

3

如果composer dump-autoload不起作用,請在遷移文件中檢查您的班級名稱。 className應該與沒有日期的文件名相同

+0

不知道爲什麼這是倒投了,這正是我的問題。謝謝!不知何故,我忽略了這一點。 – Sethen

10

我有同樣的問題,我搜索了互聯網,我發現這個解決方案,你應該用這個作曲家命令更新自動生成的classmap(aka autoload):

php composer.phar update 

composer update  

檢查此鏈接:I found the solution here

3

我有同樣的問題。

對我來說,composer update由於奇怪的原因在Windows中不起作用(在其他情況下)。

但是,

composer dump-autoload 

作品。

0

在我的情況下,我已經刪除源文件中的遷移,但我沒有在數據庫上的「遷移」表。

刪除該行並刷新遷移,並做了「作曲家轉儲自動加載-o」