2016-11-23 55 views
0

我在註冊後向用戶發送歡迎消息。我已經修改性狀方法在我的控制器像這樣:Laravel 5.3 - 如何在用戶註銷之前保留會話消息

public function register(Request $request) 
    { 
     $this->validator($request->all())->validate(); 

     event(new Registered($user = $this->create($request->all()))); 

     $this->guard()->login($user); 

     Session::set('message','messages.welcome'); 

     return redirect($this->redirectPath())->with('message', 'messages.welcome'); 
    } 

我也曾嘗試$request->session()->put('message','messages.welcome');代替Session::set('message','messages.welcome');,但它給了我同樣的結果。

然後我顯示在郵件中這樣的觀點:

@if (session('message')) 
    @include(session('message')) 
@endif 

但是,當我刷新的消息消失的觀點,我怎麼能保持消息,直到用戶註銷?

回答

0

嘗試使用:

$request->session()->put('message','messages.welcome'); 

該文檔只建議使用輔助函數或$request與會話處理:https://laravel.com/docs/5.3/session#storing-data

+0

我已經試過了一個已經和它不工作,如果我刷新頁面的消息仍然消失。 – Marco

+0

Laravel不斷與'會議'搞亂,這似乎是造成很多人的問題,這個鏈接可能會有所幫助:http://laravel.io/forum/09-07-2016-session-not-saving-laravel -53 –

0

第一次寫使用聲明

use Illuminate\Support\Facades\Session; 

然後修改你的方法一樣:

public function register(Request $request) 
    { 
     $this->validator($request->all())->validate(); 

     event(new Registered($user = $this->create($request->all()))); 

     $this->guard()->login($user); 

     #$request->session()->put('message', 'messages.welcome'); #this will also work 

     Session::put('message', 'messages.welcome'); 

     return redirect($this->redirectPath()); 
    } 

那麼當你需要它只是調用Session::get('message');