2013-08-31 166 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”