Laravel 护照 'App\User' 没找到?

Laravel Passport 'App\\User' not found?

我的“User”模型在“App\Models\User.php”中,当我这样做时这个:

    use GuzzleHttp\Client;

    $client = new Client();
    $response = $client->request('POST', 'http://localhost/oauth/token', [
        'form_params' => [
        'username'      => $data['username'],
        'password'      => $data['password'],
        'client_id'     => env('PASSWORD_CLIENT_ID'),
        'client_secret' => env('PASSWORD_CLIENT_SECRET'),
        'grant_type'    => 'password'
      ]
    ]);

我收到此错误:

"message": "Server error: `POST http://localhost/oauth/token` resulted in a `500 Internal Server Error` response:\nClass 'App\User' not found\n",

Passport 似乎在“App”目录中寻找“User”模型,而不是“Model” ' 正确位置的目录。

如何解决这个问题?

在您的 config/auth.php 文件中搜索 providers 键并将模型从 App\User::class 更改为 App\Model\User::class:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Model\User::class, // <-- this line
    ],

    //
],

然后通过php artisan config:clear删除配置缓存。

确保更新 config/auth.php 文件中的模型 class 名称:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
]