2016-02-02 3 views
-1

я использую FLASH в Laravel, чтобы отобразить небольшое уведомление здесь, как моя функция выглядит следующим образом:Мои Сессии Flash-сообщения не работают в Laravel

public function movetotrash($id){ 

     $page = Pages::where('id', $id) -> first(); 
     $page -> active = 0; 
     //$page -> save(); 
     \Session::flash('flash_message', 'Post has been successfully moved to trash'); 
     return redirect('pages'); 
} 

Вот как мой взгляд, выглядит следующим образом:

<div class="col-md-12"> 

        @if(Session::has('flash_message')) 
         <div class="alert alert-success"> 
           {{Session::get('flash_message')}} 
         </div> 
        @endif 
</div> 

А вот как мой маршрут выглядит следующим образом:

Route::get('/', function() { 
    return view('welcome'); 
}); 

Route::get('dashboard', function() { 
    return view('dashboard.dashboard'); 
}); 

Route::get('pages/trash', '[email protected]'); 

Route::get('pages/movetotrash/{id}', '[email protected]'); 

Route::resource('pages', 'PagesController'); 

ли мне нужно вызывать некоторые библиотеки в моем контроллере для Session работать?

Спасибо! (Заранее)

ответ

0

От Laravel Docs: https://laravel.com/docs/master/routing

Любые маршруты не перешедшие в группе веб промежуточного слоя не будет иметь доступ к сеансов и защиты от CSRF, поэтому убедитесь, что любые маршруты, которые нужны эти функции размещаются внутри группы. Как правило, вы будете места большинства ваших маршрутов внутри этой группы:

Route::group(['middleware' => ['web']], function() { 
    //all routes 
}); 

Поместите ваши маршруты внутри промежуточного слоя и ваша проблема будет решить.

+0

Ohk! Позвольте мне попробовать. – user3201500

+0

Получил! Его решение, работа, как шарм ... – user3201500

Смежные вопросы