我在laravel 5.2项目中使用第三方api。
我已安装guzzle来这样做。
public function getmovie(Request $request)
{
$client= new Client();
$movieurl="http://api.cinemalytics.com/v1/movie/title/?value=madaari&auth_token=<token>";
$movie=json_decode($client->request('GET',$movieurl)->getBody(),true);
return $movie[0]['OriginalTitle'];
}
控制器函数上面的API代码返回正确的数据,没有问题但是当我返回视图并发送$ movie到它然后在刀片中我遇到问题访问$ movie的值
public function getmovie(Request $request)
{
$client= new Client();
$movieurl="http://api.cinemalytics.com/v1/movie/title/?value=madaari&auth_token=<token>";
$movie=json_decode($client->request('GET',$movieurl)->getBody(),true);
return view('admin.loadmovie',compact('movie'));
}
在视图中,我将其作为
访问 <div class="form-group margin-top-20">
<label class="control-label col-md-3">Movie Title
<span class="required" aria-required="true"> * </span>
</label>
<div class="col-md-4">
<div class="input-icon right">
<i class="fa"></i>
<input type="text" class="form-control" name="movie_title" value="{{ $movie[0]['OriginalTitle'] }}">
</div>
</div>
</div>
它给了我错误信息,即试图获取非对象的属性
答案 0 :(得分:0)
首先,您应该检查API是否返回数据,而不是假设您总是会有成功的响应。
你得试图获取非对象的属性,因为在json_decode()
中第二个参数是将JSON转换为关联数组。因此,您要么删除 true ,要么将其作为数组访问。