2016-06-18 4 views
0

Ich habe eine Route, um das Profil meiner Benutzer in meinem Laravel-Projekt anzuzeigen. Aber wenn Sie zu einer URL gehen und einen Benutzernamen eingeben, der nicht existiert, gibt es einen ekligen Fehler, offensichtlich weil dieser Benutzername nicht in der Datenbank existiert.Laravel Fehlerbehandlung, wenn Route nicht existiert

Hat jemand eine Idee, wie ich damit umgehen kann?

Hier ist meine Route:

Route::get('user/{name}', '[email protected]'); 

Hier ist meine Funktion:

public function showUser($name) 
    { 
     $user = User::where('name' , '=', $name)->firstOrFail(); 
     return view('user.show', compact('user')); 
    } 

Dies ist, was ich versucht habe, aber scheint nicht, da ich diesen Fehler an die Arbeit: Ansicht nicht gefunden

$user = User::where('name' , '=', $name)->first(); 
     if(!empty($user)){ 
      return view('user.show', compact('user','projects')); 
     }else{ 
      return view('user'); 
     } 
+0

Verwenden Sie 'firstOrFail' nicht, sondern' first', prüfen Sie, ob Sie selbst etwas gefunden haben und reagieren Sie durch Umleiten oder was auch immer Sie tun möchten. – Pevara

+0

@Pevara Das ist das Problem, das ich habe, ich weiß nicht genau, wie umgeleitet wird, wenn es keine Ergebnisse gibt. Ich bin Failry neu zu Laravel :) – Cruzito

+0

https://laravel.com/docs/5.0/responses#redirects – Pevara

Antwort

1

Versuchen Sie, diese

 $user = User::where('name' , '=', $name)->first(); 
     if(!empty($user)){ 
      return view('user.show', compact('user','projects')); 
     }else{ 
      return redirect()->route('/routeWhereYouWannaSend'); 
     } 

Für weitere Informationen HTTP Responses

zweite Lösung lesen: Wenn Sie möchten zur Homepage weiterleiten Route (n), die überhaupt nicht existieren Link

1

können Sie erste Methode verwenden Benutzernamen Benutzertabelle erhalten

public function showUser($name){ 
     $user = User::where('name' , '=', $name)->first(); 
     if(!empty($user)){ 
      return view('user.show', compact('user')); 
     } 

} 

}

Lets sicher ist Ihrer Ansicht nach machen Datei in Benutzerordner

+0

Ich habe dies versucht, siehe bearbeitete Frage. Funktioniert nicht. – Cruzito

+0

Was ist eine Fehlermeldung? –

Verwandte Themen