Laravel——将数据从一个函数传递到另一个路由的函数


Laravel - pass data from a function to another route's function

当前设置:

目前,用户可以搜索调用邮政路由的内容。然后,它会根据对路由search.results的搜索返回各种内容,并在 URL 中显示为 place/town

如何将latlng变量从search函数传递到showResults函数。我已经尝试了返回 null ->with(),并将它们包含在当前的[$place, $town]数组中,但它们随后包含在 URL 中。

路线:

Route::post('search', 'Controller@search')->name('search');
Route::get('{place}/{town}', 'Controller@showResults')->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]);
}

显示结果函数(目前为空(:

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

您需要使用 Laravel 会话。

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');
}