Php “我为什么要跑?”;“作曲家转储自动加载”;命令使迁移在laravel中工作?
我已经在我的应用程序中构建了一些迁移类来创建我需要的表,但是我不断地遇到错误。我需要运行以下命令:Php “我为什么要跑?”;“作曲家转储自动加载”;命令使迁移在laravel中工作?,php,laravel,laravel-5,Php,Laravel,Laravel 5,我已经在我的应用程序中构建了一些迁移类来创建我需要的表,但是我不断地遇到错误。我需要运行以下命令: composer转储自动加载 只有这样,它才能像预期的那样再次工作。我是否做错了导致此错误的事情,或者这是迁移的正常行为 以下是我在运行迁移过程时遇到的错误: [Symfony\Component\Debug\Exception\FatalErrorException] Class 'CreateVideoStatusTable' not found 好吧,我想我知道你的问题 基
composer转储自动加载
只有这样,它才能像预期的那样再次工作。我是否做错了导致此错误的事情,或者这是迁移的正常行为
以下是我在运行迁移过程时遇到的错误:
[Symfony\Component\Debug\Exception\FatalErrorException]
Class 'CreateVideoStatusTable' not found
好吧,我想我知道你的问题 基本上,因为Composer看不到您正在创建的迁移文件,所以您必须运行dump autoload命令,该命令不会下载任何新内容,但会再次查找需要包含的所有类。它只是重新生成需要包含在项目中的所有类的列表(autoload_classmap.php),这就是为什么在运行该命令后迁移工作正常的原因 如何修复它(可能) 您需要向composer.json文件中添加一些额外的信息
"autoload": {
"classmap": [
"PATH TO YOUR MIGRATIONS FOLDER"
],
}
您需要将迁移文件夹的路径添加到类映射数组中。然后运行以下三个命令
php artisan clear-compiled
composer dump-autoload
php artisan optimize
这将清除当前编译的文件,更新它所需的类,然后将它们写回,这样就不必再这样做了
理想情况下,您可以执行composer dump autoload-o
,以更快地加载网页。它不是默认值的唯一原因是,它需要更长的时间生成(但只是稍微值得注意)
希望您能设法解决这个问题,因为它确实很烦人:(您应该运行:
composer dump-autoload
如果不起作用,你应该:
re-install composer
简短回答:类映射是静态的,而PSR自动加载是动态的
如果不想使用类映射,请改用PSR自动加载。是否使用phpartisan进行迁移?是的,我正在使用它生成创建表并运行迁移您是否在文件中使用了Illumb\Database\Schema\Blueprint;使用Illumb\Database\migrations\Migration;,并且正在扩展迁移类?是的,使用“使用照明\数据库\架构\蓝图”和“使用照明\数据库\迁移\迁移”"。通常,当我创建迁移文件时,它们看起来与此类似。请看一看,您的迁移文件是否遵循类似的模式,如果不是,则需要确保您正在扩展迁移类。一切正常吗?我不明白laravel为什么不处理此问题,这是一个伟大的框架。我已经有了我的composer.json文件:“autoload”:{“classmap”:[“database”],“psr-4”:{“App\\”:“App/”},如何添加路径?运行“php artisan dump autoload”时出错:[InvalidArgumentException]命令“dump autoload”未定义。抱歉,您需要使用composer,而不是php artisan。因此其composer转储自动加载