2016-11-23 45 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;