如何更改提交表单生成的URL-
http://localhost:8000/estates?zone=London&type=villa
这个网址:
http://localhost:8000/estates/London/villa
需要使url对搜索引擎更友好。
我从表单中的输入字段获取区域和别墅
localhost:8000/estates
当我提交表单时,我得到一个这样的url-
localhost:8000/estates?zone=London&type=villa
我希望在提交表单时使用此url而不是上面的-
localhost:8000/estates/London/villa

最佳答案

当您提交表单时,它应该像这样捕获控制器操作中的post数据-

class MyController
{
    public function create()
    {
        // Your form
    }

    public function store()
    {
        // This is where you receive the zone and villa in the request
    }
}

如您所见,您已经在store方法中收到了request中的输入字段,现在您可以这样做-
public function store(Request $request)
{
    // Your code here
    redirect()->to($request->zone.'/'.$request->villa);
}

请确保为Zone和Villa创建了路由,否则重定向到不存在的路由/URL将不起作用。
为您的请求创建这样的路由-
Route::get('estates/{zone}/{villa}', 'MyController@anotherMethod');

你将在你的控制器中有另一个动作方法来接收这个区域和别墅的输入,就像这样-
public function anotherMethod($zone, $villa)
{
    // Access your $zone and $villa here
}

10-08 04:35