当试图从API填充响应时,我在Laravel中得到一个错误。ErrorException试图访问类型bool值的数组偏移量(视图:C:laragonwwwtestapiresourcesviewsorder.blade.php)
API响应示例。
{
"success": true,
"desc": "success",
"details": [{
"awb_no": "",
"orderid": "BIG000013",
"status": "Error",
"reason": "S10",
"data": null
}]
}
这是控制器的代码。
$response = curl_exec($curl);
curl_close($curl);
$response_obj = json_decode($response, TRUE);
//return $response_obj;
return view('order', ['data' => $response_obj]);
这是'order'视图中的代码
@foreach($data as $item)
{{ $item['desc'] }}
@endforeach
当我谷歌的错误,大多数的答案是指向使用较低的php版本,并做一个作曲家更新。我两个都做过。还是得到相同的错误。代码有什么问题吗?从youtube的示例教程中获得代码。
$data
不是一个数组,它是一个单一的对象,你在一个对象上使用foreach
导致错误。
可以直接访问desc
值:
{{ $data['desc'] }} // success
同时,details
是一个数组,其值可以通过以下方式访问:
@foreach ($data['details'] as $item)
{{ $item['orderid'] }} // BIG000013
{{ $item['status'] }} // Error
@endforeach