как вернуть объект внутри объекта в сервисе в Laravel? - PullRequest
0 голосов
/ 27 марта 2020

, поэтому у меня есть функция в моем сервисе в Laravel, которая переходит к api url и получает много данных, которые являются объектом, затем я сохраняю все эти данные в переменной и возвращаю их на фронт, вот функция:

    public function getUserStatsForGame()
    {
        // WORKING ENDPOINTS:
        // "https:my.callofduty.com/api/papi-client/stats/cod/v1/title/mw/platform/battle/gamer/fire%232749/profile/type/mp"
        // "https://my.callofduty.com/api/papi-client/crm/cod/v2/title/$title/platform/$platform/gamer/$user1/matches/wz/start/0/end/0/details"

        $title = "mw";
        $platform ="battle";
        $user = "fire%232749";

        $url ="https://my.callofduty.com/api/papi-client/stats/cod/v1/title/$title/platform/$platform/gamer/$user/profile/type/mp";
        $data = $this->checkCurlAndReturnData($url);

        return json_decode($data->data->lifetime);
    }

переменная $ data - это объект, который имеет статус, и данные внутри, где данные - это объект с гораздо большей информацией внутри, если я возвращаю $ Data, то все в порядке, что Я хочу вернуть что-то вроде $ data-> data-> life, и оно каждый раз выдает мне эту ошибку: `

message:    "The Response content must be a string or object implementing __toString(), \"object\" given."
exception   "ErrorException"
file    "C:\\Users\\anton\\Desktop\\Kronte\\DEV-2\\KRONTE\\KRONTE\\app\\Http\\Services\\CodService.php"

Я пытался с json_decode и без него, и в этом случае выдает мне эту ошибку:

"Trying to get property 'data' of non-object"

1 Ответ

0 голосов
/ 27 марта 2020
return json_encode($data);

Или

return response()->json($promotion);

Попробуйте это

public function getUserStatsForGame()
{
    // WORKING ENDPOINTS:
    // "https:my.callofduty.com/api/papi-client/stats/cod/v1/title/mw/platform/battle/gamer/fire%232749/profile/type/mp"
    // "https://my.callofduty.com/api/papi-client/crm/cod/v2/title/$title/platform/$platform/gamer/$user1/matches/wz/start/0/end/0/details"

    $title = "mw";
    $platform ="battle";
    $user = "fire%232749";

    $url ="https://my.callofduty.com/api/papi-client/stats/cod/v1/title/$title/platform/$platform/gamer/$user/profile/type/mp";
    $data = $this->checkCurlAndReturnData($url);

    return json_encode($data);  //or return response()->json($data);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...