2017-01-18 7 views
0

コントローラに変数$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]);を使用することができます知っているが、これは醜いリンクを残します。

+0

代わりにルートにユーザーIDを渡すことができます。 'return redirect :: route( 'welcome /'。$ user-> id)'のようになり、 'http:// website.com/welcome/1'になります。その後、1から、あなたはユーザーを得ることができます。リンクはあまり醜いです。 – EddyTheDove

+0

あなたの変数をセッションに入れてください。 – Bugfixer

答えて

0

あなたは、URLを通さずに別のビューにデータを渡そうとしているだけです。あなたはセッションで作業することができます。サインアップがOKだった場合は、このようなセッションに保存します。
session(['signedup' => true]);

次に、あなたのウェルカムページで、そこから
$isSignedUp = session('signedup');

のようにそれを得る、あなたは$isSignedUp変数で何かを行うことができます。

0

私はあなたがこれを試してみてくださいと思う:

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

OR

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

希望あなたのためにこの作品!

関連する問題