试图获得 属性 'hostname' 的非对象

Trying to get property 'hostname' of non-object

当我使用 php artisan api:routes 时,我收到以下错误:

Trying to get property 'hostname_id' of non-object

我有以下代码,错误在哪里:

protected $user;
protected $hostname_id;

public function __construct() {
    $this->user = JWTAuth::user();
    $this->hostname_id = $this->user->hostname_id;
   }

我读了一些 JWTAuth::user() return 无效的内容,因此我无法阅读 hostname_id。也许是另一种从 JWT 令牌接收登录用户数据的方法?

发生错误是因为当您 运行 php artisan api:route 时它调用所有控制器 __constract() 函数 您可以使用此代码

protected $user;
protected $hostname_id;

public function __construct() {
    $this->user = JWTAuth::user();
    $this->hostname_id = $this->user->hostname_id ?? null;
}