如何将laravel 5.1用户模型移动到\ App\Models\User?

Joh*_*ohn 20 php authentication model laravel-5.1

是否有可能告诉Laravel我已经移动了User.php模型?

Laravel 5.1

FatalErrorException in EloquentUserProvider.php line 126: 
Class '\App\User' not found
Run Code Online (Sandbox Code Playgroud)

我真的不热衷于在laravel 5.1中将所有模型放在App文件夹的根目录中,所以我创建了一个新文件夹并将所有模型的php文件放在其中: \App\Models

我更改了auth控制器以使用新的use App\Models\User;并更正了模型文件夹中的所有模型文件.

但是当我加载页面时,我得到上面提到的错误.

(其他模型文件当然工作正常,因为它是我的代码访问它们,它只是来自laravel 5.1的预构建的auth东西)

JP *_*nco 35

您需要修改您的Project/config/auth.php文件'model'=> AppName\Models\User::class,

  • 上课后不要忘记运行composer dump-autoload (3认同)

Ben*_*ene 32

例如,如果您创建一个文件夹(例如app/Models),有两种方法可以移动模型:

1)Laravel5 style =使用PSR4

使用命名空间命名空间所有模型文件使用App\Models; 完整命名空间访问模型,例如:\App\Models\User::find(1);

2)Laravel4风格

使用composer autoloader加载模型.在composer.json中添加:

"autoload": {
        "classmap": [
            "database",
            "app/Models"            
        ],
        ...
Run Code Online (Sandbox Code Playgroud)

您不需要为模型命名空间.它们位于根命名空间中在命名空间文件中,您可以将它们作为\ User :: find(1);

额外说明:

  • 如果更改用户模型的名称空间,则必须更新config\auth.php => 'model'=> App\Models\User::class

  • 摆脱长命名空间的最简单方法是在php文件的开头导入模型,例如: use App\Models\User;

链接: