这是一个我调用2个api的函数,从第一个我得到第二个URL中使用的client_id。问题是,在我调用第二个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]);
答案 0 :(得分:1)
我认为
return view('new.home', ['clients' => $final, 'status'=> $final2])
是错误的。由于$final
是解码变量,因此$final
可能包含几种类型的变量。
在php中,您无法设置包含多种类型的变量的参数。
请这样做。
return view('new.home', ['clients' => $body, 'status'=> $final2]);
那是因为json编码的变量只是一个字符串。
我想要你的结果。