2016-07-21 7 views
0

私のlaravel 5.2プロジェクトでサードパーティのAPIを使用しています。laravel 5.2のブレードでjson_decode()が返すアクセス値

私はこれを行うためにグッスルを取り付けました。コントローラ機能のAPIコードの上

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']; 


} 

、正しいデータを返しません何の問題が、私はビューを返し、ブレードで、それに$ムービーを送信するとき、私は$ムービー

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

このビューを読み込む場所からメソッド全体を追加できますか? – TheFallen

+0

私の質問を編集しました – dollar

+0

デバッグのために、変数var_dump($ movie)を使って、ムービー変数が必要なデータとフォーマットを保持しているかどうかを調べてみてください。 – jaysingkar

答えて

1

まず、APIがデータを返すかどうかを確認する必要があります。必ずしも正常に応答するとは限りません。

あなたはjson_decode()で2番目のパラメータが配列を連想するJSONに変換されるため、非オブジェクトのプロパティを取得しようとするとを取得します。したがって、が本当にの場合は削除するか、または配列としてアクセスします。

+0

json_decode()からtrueを削除し、$ movie-> OriginalTitleとして値にアクセスしようとするとAPIが正常にデータを返すことを確認しました。エラーが発生しても何をするのか混乱しています – dollar

+0

それから? – TheFallen

関連する問題