【发布时间】:2017-03-02 19:38:54
【问题描述】:
在表单中,用户可以在 2 个下拉菜单(例如城市和城镇)内进行搜索和选择。一旦他们提交表单,我希望它重定向到 URL 中带有所选下拉选项的 URL。
因此,在提交表单后,他们将被重定向到 www.domain.co.uk/city/town。
我正在努力掌握 URL 参数的概念,以及如何将它们传递给路由!
当前设置:
{!! Form::open(['route' => ['search'], 'method' => 'POST', 'id' => 'search']) !!}
我要发布到 URL 的两个字段是:
<input type="hidden" name="town" id="town">
和
{!! Form::select('city', $city, null,
['class' => 'form-control', 'id' => 'city', 'required'])
!!}
我知道我必须发布后者的 ID,因此我必须在数据库中查找实际的 name 字段并将其返回以使用(无论如何我都必须生成 slug )。
路线:
Route::post('{city}/{town}', ['uses' => 'Controller@search',
'city' => Input::get('city'), 'town' => Input::get('town')]
)->name('search');
控制器:
public function search(Request $request)
{
return view('location.search');
}
重定向时如何在 URL 中使用这两个字段的值?我认为我的方法是错误的,但我想不出替代方案。
任何帮助将不胜感激!提前谢谢你。
【问题讨论】:
标签: php laravel laravel-5 routes parameter-passing