【问题标题】:How do i resolve Laravel Middlewares returning Object of class stdClass could not be converted to string error我如何解决 Laravel 中间件返回类 stdClass 的对象无法转换为字符串错误
【发布时间】:2021-11-09 09:27:49
【问题描述】:

我的 laravel 中间件的行为很有趣,因为每当我使用中间件时,无论是自定义的还是任何默认的 laravel 中间件,

我收到此错误

stdClass 类的对象无法转换为字符串

每当我跟踪错误来自的文件时,它都会针对

/vendor/laravel/framework/src/Illuminate/Database/Connection.php.

【问题讨论】:

  • 请分享您的错误代码
  • Illuminate/Database/Connection.php 中的哪一行导致了该错误?
  • 错误来自 Illuminate/Database/Connection.php 文件中的第 603 行
  • 你的 laravel 版本?和php版本?
  • 该错误表明您正在尝试在数据库中执行查询,但正在传递一个需要字符串的对象。由于您说每次尝试使用任何中间件时都会发生这种情况(并且由于所有请求都使用中间件),我将假设错误源自服务提供商或始终运行的任何类型的代码

标签: php laravel middleware laravel-api


【解决方案1】:

我已经弄清楚了这个问题。 问题原来是我的模型中的 JWT 标识符存在错误。

我有这个

{
  return [
    'token' => $this->getKey(),
    'ttl' => config('jwt.ttl')
  ];
}

而不是这个

public function getJWTIdentifier()
{
  return $this->getKey();
}

顺便说一句,我正在使用tymon/jwt 谢谢大家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-21
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 2020-03-16
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    相关资源
    最近更新 更多