将变量从Controller传递到Route,然后查看

时间:2017-01-18 03:54:01

标签: laravel routes

我的控制器中有$user变量,我想重定向到传递$ user变量的路由。在路线中,我正在做的就是返回视图。

这是我从控制器返回的方式:

return Redirect::route('welcome')->with('user',$user);

我的路线看起来像这样:

Route::get('welcome', array('as' => 'welcome', function() {
   return view('main');
}));

或者例如,如果我想返回一个布尔变量,只是为了知道用户刚刚注册(例如,我可以向他们展示欢迎弹出窗口),我该怎么办?

$user变量传递给我的视图的最佳方式是什么?

我知道我可以直接使用return view('main')->with(['user' => $user]);,但这会让链接变得难看。

2 个答案:

答案 0 :(得分:0)

因为您只是尝试将数据传递到另一个视图而不通过URL传递。您可以使用会话。如果注册正常,请保存在这样的会话中:
session(['signedup' => true]);

然后在欢迎页面中,将其视为
    $isSignedUp = session('signedup');

从那里,你可以对$isSignedUp变量做任何事情。

答案 1 :(得分:0)

我想你应该试试这个:

return Redirect::to('/welcome?user='. $user);

return view('welcome',compact('user'));

希望这对你有用!