更改命名空间时,在Laravel中找不到类'\ App\User'

man*_*shu 26 laravel laravel-5.2

我移动的时候有这个错误User.phpModels/User.php

local.ERROR:Symfony\Component\Debug\Exception\FatalThrowableError:致命错误:未找到类'\ App\User'

供应商/ laravel /框架/ SRC /照亮/认证/ EloquentUserProvider.php:126

Med*_*Med 112

转到config/auth.php并将App\User:class更改为App\Models\User :: class.

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
Run Code Online (Sandbox Code Playgroud)

还要更改User.php模型的命名空间

namespace App\Models;
Run Code Online (Sandbox Code Playgroud)

  • 如果你有像我一样的问题并做了所描述的一切并且仍然出现错误,请尝试清除配置缓存,如下所示:`php artisan config:cache``php artisan config:clear` (8认同)

小智 9

如果您在使用上Laravel(在auth默认php artisan make:auth),你必须改变RegisterControllerapp/Http/Controllers/Auth/

use App\User;
Run Code Online (Sandbox Code Playgroud)

use App\Models\User;
Run Code Online (Sandbox Code Playgroud)

此外,对于其余功能,您已更改用户模型上的命名空间:

namespace App\Models;
Run Code Online (Sandbox Code Playgroud)

并更改 config/auth.php

'providers' => [
'users' => [
    'driver' => 'eloquent',
    'model' => App\Models\User::class,
],
Run Code Online (Sandbox Code Playgroud)


Jef*_*eff 6

这些答案是不正确的,您不需要将命名空间更改为 \App\Models\User。自动加载将加载模型文件夹,但类仍然可以是class User,命名空间应该仍然是App. 你的文件里是这样设置的吗?

namespace App;

class User extends Model {}
Run Code Online (Sandbox Code Playgroud)


小智 5

重新加载作曲家自动加载的类。

composer dump-autoload
Run Code Online (Sandbox Code Playgroud)