2017-01-04 21 views
1

我想在laravel 5.3中構建一個應用程序,其中我從請求方法獲取變量,然後嘗試將該變量傳遞給路由重定向。我想在我的視圖中使用這個變量,以便我能夠顯示變量的值。目前,我正在這樣做:如何在laravel的路由中使用變量?

在我的控制器中我得到這樣的要求:

public function register(Request $request) 
{ 
    $data = request->only('xyz','abc'); 
    // Do some coding 
    . 
    . 
    $member['xyz'] = $data['xyz']; 
    $member['abc'] = $data['abc']; 
    return redirect('member/memberinfo')->with('member' => $member); 
} 

現在我在路線已經下:

Route::get('/member/memberinfo', '[email protected]')->with('member', $member); 

現在MemberController我想要使用$member變量並將其顯示在我的視圖中:

public function memberinfo() 
{ 
    return view('member.memberinfo', ['member' => $member]); 
} 

但我得到的路由信息​​的錯誤文件

調用未定義的方法照亮\路徑\路徑::有()

幫我,我怎麼能做到這一點。

+0

只是用( '部件'=> $替換'=>'與',''在構件);'。希望這有助於解決您的問題! –

+0

剛剛閱讀文檔, – Kyslik

回答

1

當你使用redirect()->with(),你將數據保存到會話。所以要在控制會話獲取數據,甚至查看您可以使用session()幫手:

$member = session('member'); // In controller. 

{{ session('member')['xyz'] }} // In view. 

或者,你可以傳遞變量作爲字符串參數。

重定向:

return redirect('member/memberinfo/xyz/abc') 

路線:

Route::get('/member/memberinfo/{xyz}/{abc}', '[email protected]'); 

控制器:

public function memberinfo($xyz, $abc) 
{ 
    return view('member.memberinfo', compact('xyz', 'abc')); 
} 
+1

感謝您不斷回答我的問題。它幫助我學習laravel! –

+0

對於查看此內容的其他人,請記住,您可以使用路由模型綁定:https://laravel.com/docs/5.6/routing#route-model-binding – GoogleMac

0

你可以使用這樣的:

路線:

Route::get('/member/memberinfo', '[email protected]') 

和重定向:

return redirect('member/memberinfo')->with('member', $member); 
0

您需要更換=>,

public function register(Request $request) 
{ 
    $data = request->only('xyz','abc'); 
    // Do some coding 
    . 
    . 
    $member['xyz'] = $data['xyz']; 
    $member['abc'] = $data['abc']; 
    return redirect('member/memberinfo')->with('member', $member); // => needs to be replaced with , 
} 

希望這個作品!

0

更換線

return redirect('member/memberinfo')->with('member' => $member); 

return redirect('member/memberinfo')->with('member', $member); 

......

相關問題