Почему мой второй вызов по URL не работает (Laravel, Guzzle)? - PullRequest
0 голосов
/ 05 июля 2018

Это функция, в которой я вызываю 2 api, сначала я получаю client_id, который я использовал во втором URL. Проблема в том, что после того, как я позвонил по второму URL, моя страница загружается без конца.

Изображение страницы

public function getDevices(){

        $route='http://localhost:8000/api/devices';

        $device= new Client();
        $answer= $device->request('GET', $route);
        $body = $answer->getBody();
        $status = 'true';
        $message = 'Data found!';
        $final= json_decode($body);

        $id_array = array();
    foreach ($finalas $item) {
        // Add each id value in your array
        $id_array[]= $item->clientId;
    }

foreach($id_array as $my_id) {
 $answer2= $client->request('GET', 'http://localhost:8080/api/devices/deviceAvailability/' . $my_id );
 $body2 = $response2->getBody();
 $final2= json_decode($body2);

 }


return view('new.home', ['clients' => $final, 'status'=> $final2]);

1 Ответ

0 голосов
/ 05 июля 2018

Я думаю

return view('new.home', ['clients' => $final, 'status'=> $final2])

неправильно. Поскольку $final является декодируемой переменной, возможно, $final содержит несколько типов переменных.

В php нельзя установить параметр, содержащий несколько типов переменных.

Пожалуйста, сделай так.

return view('new.home', ['clients' => $body, 'status'=> $final2]);

Это потому, что закодированная в json переменная является только строкой.

Я хочу твой результат.

...