2016-04-30 11 views
1

Ich bin neu in Laravel 5.2 I Sitzung Flash versuche für die Anzeige mit Alert-Session Flash funktioniert nicht in Laravel 5.2

Hier sind der Code für die Sitzung Flash

DepartmentContoller.php

Hier
public function add(Request $request){ 

     if($request->isMethod('post')) 
     { 
      $department = new Department; 

      /*$department->department_name = $request->department_name; 
      $department->status = $request->status; 
      $department->save();*/ 

      $department->create($request->all()); 
      $request->session()->flash('alert-success', 'User was successful added!'); 
      return redirect('admin/departments'); 
     } 

     return view('admin.department.add'); 
    } 

ist die view-Datei, wo ich will Session Flash-Wert anzuzeigen

@foreach (['danger', 'warning', 'success', 'info'] as $msg) 
    {{Session::has('alert-' . $msg)}} 
    @if(Session::has('alert-' . $msg)) 
     <div class="alert alert-{{$msg}} alert-dismissible"> 
     <button aria-hidden="true" data-dismiss="alert" class="close" type="button">×</button> 
     <h4><i class="icon fa fa-ban"></i> Alert!</h4> 
     {{session('alert-'. $msg)}} 
     </div> 
    @endif 
@endforeach 

Und hier ist meine Strecke deatail

Route::group(['middleware' => ['web']], function() { 
//Login Routes... 
Route::get('/admin', 'AdminAuth\[email protected]'); 
Route::get('/admin/login','AdminAuth\[email protected]'); 
Route::post('/admin/login','AdminAuth\[email protected]'); 
Route::get('/admin/logout','AdminAuth\[email protected]'); 

// Registration Routes... 
Route::get('admin/register', 'AdminAuth\[email protected]'); 
Route::post('admin/register', 'AdminAuth\[email protected]');  

Route::group(['as' => 'admin', 'middleware' => ['admin', 'web'], 'prefix'=>'admin'], function() { 
    Route::get('/admin', array('uses'=>'[email protected]')); 
    Route::get('/departments', array('as' => 'departments', 'uses'=>'[email protected]')); 
    Route::get('/department/add', array('as' => 'add', 'uses'=>'[email protected]')); 
    Route::post('/department/add', array('as' => 'add', 'uses'=>'[email protected]')); 
}); 

});

Ich möchte Erfolgsalarm in Sicht anzeigen, aber ich habe den Sitzungswert auf meiner Ansichtsseite nicht erhalten. Bitte schlage vor, wo ich falsch liege?

+0

Seit 'flash'is nur für die nächste Anforderung verwendet wird, sind Sie sicher, dass es nicht mehr Umleitungen nach' admin/departments'? Allerdings sollten Sie '{{session ('alert-'. $ Msg)}}' anstelle von '{{session ('message')}}' ' – emibloque

+0

verwenden Ja, es gibt keine andere Umleitung, und auch Ich habe mich mit '{{session ('alert-'. $ Msg)}}' geändert. Aber kein Glück, es geht nicht in das 'if (session :: has ('alert-'. $ Msg))' –

+0

Versuchen Sie, die Sitzungsdaten im Controller abzurufen und dann an die Ansicht von 'DepartmentController @ index' zu übergeben – emibloque

Antwort

0

sicherzustellen, dass alle Routen verwendet Web-Middleware

Route::group(['middleware' => 'web'], function() { 
// routes here 
Route::get('/departments', array('as' => 'departments', 'uses'=>'[email protected]')); 
}); 
+0

Meine Route verwendet Web-Middleware –

+0

Sie erhalten einen Fehler -> RuntimeException mit der Nachricht "Sitzungsspeicher nicht auf Anfrage festgelegt". – shalini

+0

session() -> flash ('alert-success', 'Benutzer wurde erfolgreich hinzugefügt!'); return redirect() -> zu ('admin/departments'); – shalini

Verwandte Themen