Я пытаюсь получить список одного пользователя плюс его / ее пост в другой таблице, передавая в заголовке токен пользователя 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
Когда я возвращаю только auth () -> user () , я получаю точного пользователя jwt, но без ресурса post.
Как получить точного пользователя плюс пользователя точные сообщения