Intereting Posts
Получить последний идентификатор вставки после подготовленной вставки с PDO MySQL: Как получить последовательный номер со строками? Отображение количества посетителей Google Analytics на веб-сайте php xpath извлекает значения атрибутов на основе нескольких атрибутов и родительских атрибутов Установка PHP SESSION var изнутри JS Как отключить ручной ввод для поля JQuery UI Datepicker? Как отправить HTML-адрес электронной почты с помощью SMTP в PHP PHP Youtube API v3 – Прямая загрузка – Несанкционированное сообщение AngularJS и Codeigniter – Комбинация и передача данных Что быстрее / эффективнее – много маленьких запросов MySQL или одного большого массива PHP? Поверните текст после слэшей в переменные с помощью HTACCESS Cakephp 3 перенаправляет в beforeFilter родительского класса Обнаруживать обновление страницы или новую загрузку с помощью PHP или Javascript Laravel извлекает данные из REST API Как заказывать DateTime в Доктрине 2?

Неопределенное свойство: GuzzleHttp \ Psr7 \ Response :: $ Результаты – Laravel 5.2 с использованием API

Я пытаюсь внедрить кэширование в свой Laravel 5 API, но у меня проблемы. Я получаю эту ошибку прямо сейчас:

ОшибкаException в строке MedalController.php 19:
Неопределенное свойство: GuzzleHttp \ Psr7 \ Response :: $ Результаты

Может кто-нибудь понять, почему это не получает мой заголовок? Я никогда раньше не использовал кеширование, поэтому я, вероятно,

Вот как я звоню и получаю свой медаль за каждого игрока в игре Halo 5:

GetDataController:

class GetDataController extends Controller { /** * Fetch a Players Arena Stats * * @param $gamertag * @return mixed */ public function getPlayerArenaStats($gamertag) { $client = new GuzzleHttp\Client(); $baseURL = 'https://www.haloapi.com/stats/h5/servicerecords/arena?players=' . $gamertag; $res = $client->request('GET', $baseURL, [ 'headers' => [ 'Ocp-Apim-Subscription-Key' => env('Ocp-Apim-Subscription-Key') ] ]); Cache::put('stats', $res, 10); if ($res->getStatusCode() == 200) { return $result = json_decode($res->getBody()); } elseif ($res->getStatusCode() == 404) { return $result = redirect()->route('/'); } return $res; } } 

Мой MedalControler, который вызывает заголовок и пытается получить все медали для игрока:

 class MedalController extends Controller { /** * Get a Players Arena Medals * * @param $playerArenaMedalStats * @return mixed */ public function getArenaMedals($playerArenaMedalStats) { $results = collect($playerArenaMedalStats->Results[0]->Result->ArenaStats->MedalAwards); $array = $results->sortByDesc('Count')->map(function ($item, $key) { return [ 'MedalId' => $item->MedalId, 'Count' => $item->Count, ]; }); return $array; } } 

И вот как получить, декодировать и вернуть медали для просмотра:

 class StatsController extends Controller { /** * Return all Stats for a particular player * * @param Request $request * @return mixed */ public function index(Request $request) { if (Cache::has('stats')) { $playerArenaMedalStats = Cache::get('stats'); $playerArenaMedalStatsArray = app('App\Http\Controllers\MedalController')->getArenaMedals($playerArenaMedalStats); $arenaMedals = json_decode($playerArenaMedalStatsArray, true); } else { app('App\Http\Controllers\GetData\GetDataController')->getPlayerArenaStats($gamertag); } // More stuff here, shortened for simplicicty return view('player.stats')->with('arenaMedals', $arenaMedals); } }