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,
],
]
我的“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,
],
]