Laravel - 将数据从函数传递到另一个路径的函数

时间:2016-11-16 20:23:01

标签: php laravel laravel-5 laravel-routing

当前设置:

目前,用户可以搜索调用后期路线。然后,它会根据搜索结果将各种内容返回到路径search.results,并在URL中显示为place/town

如何将latlng函数中的searchshowResults变量传递给->with()函数。我已经尝试[$place, $town]返回null,并将它们包含在当前数组Route::post('search', 'Controller@search')->name('search'); Route::get('{place}/{town}', 'Controller@showResults')->name('search.results'); 中,但它们会包含在URL中。

路线:

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

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

控制器:

搜索功能:

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

showResults函数(此时为空):

CREATE TEMPORARY TABLE

1 个答案:

答案 0 :(得分:2)

您需要使用Laravel Session

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

在你的功能中

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