将 Laravel 5 Eloquent 个模型移动到它自己的目录中
Move Laravel 5 Eloquent models into its own directory
Laravel 5 默认情况下在 app 文件夹中有 ORM 模型。我想将这些移动到 app/models。当我这样做时,这些 类 就再也找不到了。
如何让 Laravel 从 app/models 中找到 Eloquent ORM 模型?
将 "app/models"
添加到 composer.json 的类映射自动加载部分
"autoload": {
"classmap": [
"database",
"app/models"
]
}
只需创建一个名为 Models
的文件夹,然后将您的文件移入其中。之后,将模型的命名空间从 App
更改为 App\Models
(同时更新用法)和 运行 composer dump-autoload
.
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。恭喜!
Afer 移动模型文件夹中的所有文件。你需要做的是 运行:
composer dump-autoload
这对我有用。 :)
完成@Saint Play 步骤后。我必须做 php artisan config:clear
。然后成功了!
Laravel 5 默认情况下在 app 文件夹中有 ORM 模型。我想将这些移动到 app/models。当我这样做时,这些 类 就再也找不到了。
如何让 Laravel 从 app/models 中找到 Eloquent ORM 模型?
将 "app/models"
添加到 composer.json 的类映射自动加载部分
"autoload": {
"classmap": [
"database",
"app/models"
]
}
只需创建一个名为 Models
的文件夹,然后将您的文件移入其中。之后,将模型的命名空间从 App
更改为 App\Models
(同时更新用法)和 运行 composer dump-autoload
.
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。恭喜!
Afer 移动模型文件夹中的所有文件。你需要做的是 运行:
composer dump-autoload
这对我有用。 :)
完成@Saint Play 步骤后。我必须做 php artisan config:clear
。然后成功了!