2016-11-16 107 views
1

目前的設置:Laravel - 從一個函數傳遞到另一個數據路由的功能

目前,用戶可以搜索調用後的路線。然後它根據搜索返回各種東西到search.results,它在URL中顯示爲place/town

如何將latlng變量從search函數傳遞到showResults函數。我試過->with(),它返回null,並且將它們包含在當前的[$place, $town]數組中,但它們隨後包含在URL中。

路線:

Route::post('search', '[email protected]')->name('search'); 
Route::get('{place}/{town}', '[email protected]')->name('search.results'); 

控制器:

搜索功能:

public function search(Request $request) 
{ 
    $place =$request->get('name'); 
    $lat = $request->get('lat'); 
    $lng = $request->get('lng'); 

    return redirect()->route('search.results', [$place, $town]); 
} 

showResults功能(空的時刻):

public function showResults() 
{ 
    // I want to use lat and lng here. 
} 

回答

1

您需要使用Laravel Session

return redirect() 
    ->route('search.results', [$place, $town]) 
    ->with('lng', $lng) 
    ->with('lat', $lat); 

而在你fonction

public function showResults(Request $request) 
{ 
    $lat = $request->session()->get('lat'); 
    $lng = $request->session()->get('lng'); 
} 
+0

我非常接近!謝謝。是否有任何理由爲什麼我的緯度值不會發送 - '「-1.5490773999999874」'這是''dd'('''search'函數內的變量,但它在'showResults' 。經度完美嗎? – Ben

+0

你怎麼發送你的兩個變量? (''lat',$ lat) - >用'('l',$ lng);'' – Roadirsh

+0

多個' - > with()'可以完美地工作。感謝您的幫助! – Ben

相關問題