我正在尝试将一个变量从guzzle请求传递给我的视图。
这是我的控制器
$client = new Client();
$res = $client->request('GET', 'https://api.iugu.com/v1/customers?api_token=secret');
$result = $res->getBody();
$clientes = json_decode($result, true);
return view('sections.client.index')->with('clients', $clientes['items']);
但返回错误:
Trying to get property of non-object (View: /var/www/html/cron_verify/resources/views/sections/client/index.blade.php)
这是我的JSON
这是我的观点
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row">
<div class="col-md-12 col-md-3-offset table_box">
<table class="table">
<tr>
<th>Nome</th>
<th>Status</th>
<th>Faturas</th>
<th>Situação</th>
</tr>
@foreach($clients as $value)
<tr>
<td>{{$value->name}}</td>
<td>{{$value->email}}</td>
<td>{{$value->number}}</td>
</tr>
@endforeach
</table>
</div>
</div>
</div>
@endsection
我不明白为什么我收到此错误,因为该值在JSON响应中。导致错误的原因是什么?
答案 0 :(得分:2)
您需要access
元素作为array
值。
@foreach($clients as $value)
<tr>
<td>{{$value["name"]}}</td>
<td>{{$value["email"]}}</td>
<td>{{$value["number"]}}</td>
</tr>
@endforeach
答案 1 :(得分:1)
正如错误所说,你正在使用数组,没有对象。请改用此foreach。
@foreach($clients as $value)
<tr>
<td>{{$value['name']}}</td>
<td>{{$value['email']}</td>
<td>{{$value['number']}}</td>
</tr>
@endforeach
答案 2 :(得分:1)
您正在错误地访问阵列
<强>尝试:强>
@foreach($clients as $value)
<tr>
<td> {{$value["name"]}} </td>
<td> {{$value["email"]}} </td>
<td> {{$value["number"]}} </td>
</tr>
@endforeach
答案 3 :(得分:1)
因为你使用$clientes = json_decode($result, true);
返回一个关联对象而不是你的视图,你必须使用它:
<tr>
<td>{{$value['name']}}</td>
<td>{{$value['email']}}</td>
<td>{{$value['number']}}</td>
</tr>