将Laravel 5 Eloquent模型移动到自己的目录中

时间:2015-03-14 17:57:25

标签: php eloquent laravel-5

Laravel 5默认在app文件夹中有ORM模型。我想把它们移到app / models中。当我这样做时,再也找不到这些类了。

如何让Laravel从app / models中找到Eloquent ORM模型?

5 个答案:

答案 0 :(得分:48)

Laravel 5.6 +

的解决方案

1。将文件移动到新目录

假设您要将模型移至app/Models

2。更改模型的命名空间

对于每个模型更改:

namespace App;

namespace App\Models;

3。更改其他文件中的引用

检查这些文件并特别搜索app\User

  • app/Http/Controllers/Auth/RegisterController.php
  • config/auth.php
  • config/services.php
  • database/factories/ModelFactory.php
  • database/factories/UserFactory.php
  • 您的控制器

App/ModelExample更改为App/Models/ModelExample

4。自动加载文件

运行composer dump-autoload

5。恭喜!

答案 1 :(得分:30)

只需创建一个名为Models的文件夹,然后将文件移入其中。之后,将模型的命名空间从App更改为App\Models(也更新用法)并运行composer dump-autoload

答案 2 :(得分:14)

"app/models"添加到composer.json的classmap自动加载部分

"autoload": {
    "classmap": [
        "database",
        "app/models"
    ]
}

答案 3 :(得分:3)

移动models文件夹中的所有文件。你需要做的是运行:

composer dump-autoload

这对我有用。 :)

答案 4 :(得分:0)

执行@Saint Play步骤后。我不得不做php artisan config:clear。然后成功了!