我的会话Flash消息在Laravel中不起作用

时间:2016-02-02 06:30:17

标签: php laravel

我在Laravel中使用FLASH来显示小通知,这是我的函数的样子:

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', 'PagesController@trashpage');

Route::get('pages/movetotrash/{id}', 'PagesController@movetotrash');

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

我是否需要在控制器中调用某个库以使Session正常工作?

谢谢! (提前)

1 个答案:

答案 0 :(得分:0)

来自laravel docs:https://laravel.com/docs/master/routing

  

未放置在Web中间件组中的任何路由都不会   访问会话和CSRF保护,因此请确保所有路由   需要将这些功能放在组内。通常情况下,你会   将您的大部分路线放在此群组中:

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

将您的路线放在中间件中,您的问题就会解决。