2016-07-21 7 views
0

Ich verwende 3rd Party API in meinem Laravel 5.2 Projekt.Zugriffswerte, die von json_decode() in Laravel zurückgegeben werden 5.2 blade

Ich habe guzzle dazu installiert.

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


} 

über API-Code in Controller-Funktion liefert korrekte Daten, kein Problem, aber wenn ich Ansicht zurückkehren und $ Film, um es dann in Klinge ich bin vor Problem beim Zugriff auf die Werte von $ Film

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')); 
} 

senden in Ansichten Zugriff ich es als

<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> 

es gibt mir Fehlermeldung dh Versuch Eigenschaft nicht-Objekt zu erhalten

+0

Können Sie die gesamte Methode hinzufügen, von wo Sie diese Ansicht laden? – TheFallen

+0

Ich habe meine Frage bearbeitet – dollar

+0

Nur zum Debuggen, versuchen Sie mit var_dump ($ Film) zu überprüfen, ob die Filmvariable die erforderlichen Daten und das Format enthält. – jaysingkar

Antwort

1

Zuerst sollten Sie überprüfen, ob die API Daten zurückgibt, nicht davon ausgehen, dass Sie immer eine erfolgreiche Antwort haben.

Sie erhalten Versuchen, die Eigenschaft von Nicht-Objekt zu erhalten, weil in json_decode() der zweite Parameter das JSON in assoziative Array konvertiert. Entweder entfernen Sie entweder true oder Sie greifen darauf als Array zu.

+0

Ich habe überprüft, dass API Daten richtig zurückgibt, wenn ich true von json_decode() entfernen und versuchen, auf Wert als $ movie-> OriginalTitle zuzugreifen, auch dann bekomme ich Fehler, ich bin verwirrt, was zu tun ist – dollar

+0

Welchen Fehler hast du dann bekommen? – TheFallen