为什么我对网址的第二次调用不起作用(Laravel,Guzzle)?

问题描述 投票:0回答:1

这是一个函数,我调用2 api,从第一个我得到client_id,我在第二个url中使用。问题是,在我调用第二个URL后,我的页面正在加载而没有结束。

Page image

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]);
php laravel guzzle
1个回答
1
投票

我认为

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

是错的。因为$final是解码变量,所以$final可能包含几种类型的变量。

在php中,您不能设置包含多种类型变量的参数。

请这样做。

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

那是因为json编码的变量只是一个字符串。

我想要你的结果。


推荐问答