Laravel 5 默认在应用程序文件夹中具有 ORM 模型。我想将它们移动到应用程序/模型中。当我这样做时,这些类就再也找不到了。
如何让拉拉维尔从应用程序/模型中找到雄辩的ORM模型?
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. 恭喜!
只需创建一个名为 Models
的文件夹,然后将文件移动到其中即可。之后,将模型的命名空间从仅 App
更改为 App'Models
(也更新用法)并运行 composer dump-autoload
。
将"app/models"
添加到 composer.json 的类映射自动加载部分
"autoload": {
"classmap": [
"database",
"app/models"
]
}
移动模型文件夹中的所有文件。您需要做的是运行:
composer dump-autoload
这对我有用。:)
在完成@Saint播放步骤后。我必须做php artisan config:clear
.然后它奏效了!