【问题标题】:Laravel 4 migration: class not found exceptionLaravel 4迁移:找不到类异常
【发布时间】:2013-09-04 06:01:58
【问题描述】:

显然,当我想迁移我的数据库时,我遇到了这个奇怪的错误

{"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 dump-autoload”也不能解决问题。

我的 composer.json 也会自动加载迁移。

【问题讨论】:

  • 尝试删除您的bootstrap/compiled.php 文件并测试您的应用。然后你可以运行php artisan optimize 再次创建它。
  • 我似乎没有这个文件。只有 /bootstrap 下的文件是 autoload.php、paths.php 和 start.php
  • Class ' ' not found 很奇怪。如果将空字符串类名传递给迁移器,则以某种方式进行迁移。迁移目录中是否存在任何非类文件?
  • 只是一直存在的 .gitignore。我尝试删除它以防万一并得到相同的错误我什至尝试删除所有迁移并只保留用户迁移(并尝试与其他迁移相同)但这仍然不能解决错误。如果我没有找到答案,我稍后可能会创建一个新项目并将所有文件移动到新项目中,看看会发生什么。我完全不知道哪里出了问题,据我所知,我所有的文件看起来都不错

标签: php migration laravel laravel-4


【解决方案1】:

我似乎已经解决了这个问题。

为了方便确定迁移的顺序,我将迁移文件重命名为类似

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

等等。显然这给了我错误,它确实必须保持在“yyyy_mm_dd_hhmmss_create_xxx_table.php”格式。

【讨论】:

    【解决方案2】:

    如果composer dump-autoload 不起作用,请检查迁移文件中的类名。 className 应该与不带日期的文件名相同

    【讨论】:

    • 不知道为什么这被否决了,这正是我的问题。谢谢!我不知何故忽略了这一点。
    【解决方案3】:

    我有同样的问题,我搜索了互联网,我发现了这个解决方案,你应该使用这个 composer 命令更新你的自动生成的类映射(又名自动加载):

    php composer.phar update
    

    composer update    
    

    查看此链接:I found the solution here

    【讨论】:

      【解决方案4】:

      我遇到了同样的问题。

      对我来说,composer update 因奇怪的原因不适用于 Windows(在其他情况下也是如此)。

      但是,

      composer dump-autoload
      

      有效。

      【讨论】:

        【解决方案5】:

        就我而言,我已经删除了源文件中的迁移,但我没有在数据库的“迁移”表上。

        删除行并刷新迁移并执行“composer dump-autoload -o”

        【讨论】:

          猜你喜欢
          • 2012-12-13
          • 2021-02-19
          • 2020-06-13
          • 2013-10-16
          • 2015-08-29
          • 1970-01-01
          • 2018-11-05
          • 1970-01-01
          • 2020-10-06
          相关资源
          最近更新 更多