2016-12-12 1 views
0

Ich bin auf eine Ansicht von Controller und das ist ok, aber wenn Ansicht nicht existiert es leere Seite zurück, so wie das zu lösen?Umleiten zu bestehenden Ansicht von Controller in Laravel 5.3

class PagesController extends Controller  
{ 
public function show(Request $request) 
    { 
$showpage = $request->input('search'); // Request object 
    if (View::exists('pages.'.$showpage)) { 
    return view('pages.'.$showpage); 
    } 
     else { 
     return ; 
    } 
    } 
} 
+0

Was möchten Sie tun, wenn die Ansicht nicht existiert? –

Antwort

0

Wenn Sie nur etwas rendern möchten, wenn der Controller nicht gefunden wurde, wäre es eine gute Idee, eine Fehlerseite zu rendern. Sie könnten eine Fehlerseite in Ressourcen/Fehlern erstellen und dann rendern.

Probieren Sie dies mit der Standardvorlage 503.blade.php aus und erstellen Sie dann Ihre eigene Vorlage.

class PagesController extends Controller  
{ 
public function show(Request $request) 
    { 
$showpage = $request->input('search'); // Request object 
    if (View::exists('pages.'.$showpage)) { 
    return view('pages.'.$showpage); 
    } 
     else { 
     return response()->view('errors.503'); 
    } 
    } 
} 
+0

Was ich will, ist auf der gleichen Seite bleiben und nichts tun, wenn die Ansicht nicht existiert, könnte ich Fehler Seite rendern, aber es ist besser, nirgendwo hinzugehen. – Radovan

+0

In diesem Fall könnten Sie: 'return redirect() -> back();' verwenden, um zur selben Ansicht umzuleiten. Wenn Sie jedoch auf derselben Seite bleiben möchten, ohne umgeleitet zu werden, sollten Sie Ihren Ansichtscode so ändern, dass eine AJAX-Anforderung verwendet wird, um vor dem Aufruf von 'show' zu überprüfen, ob die Ansicht gültig ist. – Laerte

Verwandte Themen