laravel auth:api returns SQLSTATE[42S22]:找不到列:1054

laravel auth:api returns SQLSTATE[42S22]: Column not found: 1054

Postman 返回这个错误

Illuminate\Database\QueryException: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'api_token' in 'where clause' (SQL: select * from users where api_token = B6eJj892tHBKvX186BYZgmqqqG8Iz4npy85ArvJS80boCT4UYNBD5CGDIdG6Dm5nlSi83cY3n0XTvsxj and users.deleted_at is null limit 1) in file /var/www/html/myapp/vendor/laravel/framework/src/Illuminate/Database/Connection.php on line 669

我的 table 中的列名称是 token。我还在 config/auth.php

中配置了我的 storage_key
'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
            'storage_key' => 'token',
            'input_key' => 'token',
            'hash' => false,
        ],
    ],

我的 ApiController.php 有这个代码

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class ApiController extends Controller
{

    public function __Construct() {
        $this->middleware('auth:api');
    }

    public function user(Request $request) {
        return $request->user();
    }
}

我的api.php有

Route::get('user', 'ApiController@user');

我这样称呼我的api http://localhost:8000/api/user?token=myGeneratedToken

如果您遇到同样的问题,请使用此命令清除缓存

php artisan config:cache

再试一次