Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获得准确的用户加上用户';jwt token laravel在laravel的确切帖子_Php_Laravel_Jwt - Fatal编程技术网

Php 如何获得准确的用户加上用户';jwt token laravel在laravel的确切帖子

Php 如何获得准确的用户加上用户';jwt token laravel在laravel的确切帖子,php,laravel,jwt,Php,Laravel,Jwt,我试图在另一个表中获取单个用户的列表以及他/她的帖子,同时在标题中传递用户jwt令牌 public function getAuthenticatedUser() { try { if (! $user = JWTAuth::parseToken()->authenticate()) { return response()->json(['user_not_found'], 404); } } catch (

我试图在另一个表中获取单个用户的列表以及他/她的帖子,同时在标题中传递用户jwt令牌

public function getAuthenticatedUser()
{
    try {

        if (! $user = JWTAuth::parseToken()->authenticate()) {
            return response()->json(['user_not_found'], 404);
        }

    } catch (Tymon\JWTAuth\Exceptions\TokenExpiredException $e) {

        return response()->json(['token_expired'], $e->getStatusCode());

    } catch (Tymon\JWTAuth\Exceptions\TokenInvalidException $e) {

        return response()->json(['token_invalid'], $e->getStatusCode());

    } catch (Tymon\JWTAuth\Exceptions\JWTException $e) {

        return response()->json(['token_absent'], $e->getStatusCode());

    }

    // the token is valid and we have found the user via the sub claim

    $user = auth()->user();
    $userid = User::where('id', $user->id);
    $return = UserResource::collection($userid);   
    return response()->json($return);


}
当我这样做的时候

BadMethodCallException: Call to undefined method Illuminate\Database\Eloquent\Builder::mapInto() in file C:\xampp\htdocs\doc\vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php on line 50

#0 C:\xampp\htdocs\doc\vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php(36): Illuminate\Database\Eloquent\Builder::throwBadMethodCallException('mapInto')
但如果我这样做

$user = auth()->user();
$userid = User::find($user);
$return = UserResource::collection($userid);   
return response()->json($return);
我得到了一个响应,但返回了两个用户,而不是使用jwt令牌的确切用户

当我返回justauth()->user()时,我得到了jwt的确切用户,但没有post资源

$return = new UserResource($userid);

如何获得准确的用户加上用户的准确帖子

我在下面的代码片段中看到了一个问题

User::where('id', $user->id);
where是在查询生成器上调用where的语法糖,因此它返回一个查询生成器,以这种方式检索用户

User::where('id', $user->id)->first();
其次,为这个确切的案例创建了一个名为find()的助手,您可以对模型类进行静态调用

$user = User::find($user->id);
编辑

$return = UserResource::collection($userid);
需要一个集合,因此将其更改为单个资源

$return = new UserResource($userid);

我在下面的代码片段中看到了一个问题

User::where('id', $user->id);
where是在查询生成器上调用where的语法糖,因此它返回一个查询生成器,以这种方式检索用户

User::where('id', $user->id)->first();
其次,为这个确切的案例创建了一个名为find()的助手,您可以对模型类进行静态调用

$user = User::find($user->id);
编辑

$return = UserResource::collection($userid);
需要一个集合,因此将其更改为单个资源

$return = new UserResource($userid);

尝试
User::where('id',$User->id)->first()BadMethodCallException:调用文件C:\xampp\htdocs\doc\vendor\laravel\framework\src\illighte\Support\Traits\ForwardsCalls.php中未定义的方法App\User::mapInto(),第50行这是Responsey
User::where('id',$User->id)->first()BadMethodCallException:调用文件C:\xampp\htdocs\doc\vendor\laravel\framework\src\light\Support\Traits\ForwardsCalls.php第50行中的未定义方法App\User::mapInto()。这是responseBadMethodCallException:调用未定义方法App\User::mapInto()第50行的文件C:\xampp\htdocs\doc\vendor\laravel\framework\src\illumb\Support\Traits\Forwa rdsCalls.php中BadMethodCallException:调用第50行的文件C:\xampp\htdocs\doc\vendor\laravel\framework\src\illumb\Support\Traits\Forwa rdsCalls.php中未定义的方法App\User::mapInto()