2016-11-23 60 views
0

我想在重定向中發送變量,但它不起作用,當返回到同一頁面時,如何發送變量?Laravel 5.3 - 使用變量返回重定向

這是我的嘗試:

 $player = Player::updateOrCreate(
      [ 
      'user_id' => Auth::user()->id, 
      ], 
      [ 
      'first_name' => $request->first_name, 
      'last_name' => $request->last_name, 
      'nationality' => $request->nationality, 
      'birthday' => $request->birthday, 
      'club' => $request->club, 
      ] 
     ); 

     return Redirect::route('admin.articles.index', compact('player')); 
     //return redirect()->back()->with(['player' => $player]); 
+0

我們可以看到routes.php文件文件 – user2693928

+0

它是重定向的,但變量沒有被髮送,所以它與路徑 – Marco

+0

無關,你知道,你必須從會話中獲取變量嗎? –

回答

0

如果你有這樣的:

$player = 'player_namne'; 
    return back()->with(compact('player')); 

在你工作,你必須訪問它在您的視圖(或控制器)這樣的:

@if(session('player')) 
    {{ session('player') }} 
@endif 
+0

是的,我試圖避免使用會話,因爲會話變量似乎消失在刷新頁面 – Marco

+0

是閃過的會話變量,如重定向做的那樣。如果你想在刷新頁面後保持變量。你必須將它們存儲在一個會話中(而不是Flash變量),或者將它包含在GET中 - 變量 –

+0

我試過在會話中保存變量,我甚至發佈了一個問題[here](http://stackoverflow.com/問題/ 40761213/laravel-5-3-如何對保的會話消息,直到-的用戶 - 原木出)。我不確定GET -Variable中包含什麼意思? – Marco

0

如果您在刷新頁面後仍然需要這個值,那麼就像下面那樣修改

$player = 'player_name'; 
Session::put('plName', $player); 

然後,當你需要它再叫它Session::get('plName');

如果你需要它暫時Session::flash('plName', $player);

你還需要使用聲明use Illuminate\Support\Facades\Session;