路由参数将错误的值传递给控制器

时间:2017-11-20 01:54:10

标签: php laravel-5

我在同一个视图上有2个链接,我用不同的参数调用相同的路径:

<a href="{{ route('getalladdress', ['addressType' => 'customer']) }}">Customer Address</a>
<a href="{{ route('getalladdress', ['addressType' => 'tax']) }}">Tax Address</a>

路线:

Route::get('getalladdress/{addressType}', 'AddressController@getalladdress');

控制器:

public function getalladdress($addressType) {
        //some code
return view('partials.searchaddress')
            ->with('addressType', $addressType);
    }

当我点击第一个链接时,addressType参数正确返回,即“customer”。当我点击第二个链接时,addressType参数将作为第一个“customer”而不是“tax”返回。我不知道我在这里做错了什么。任何帮助,将不胜感激。谢谢!

PS:我是Laravel的新手。

1 个答案:

答案 0 :(得分:1)

要使用route()辅助功能,您需要提供路线名称。

Route::get('getalladdress/{addressType}', ['as' => 'getalladdress', 'uses' => 'AddressController@getalladdress']);

然后您可以将路径名与助手一起使用,如下所示:

<a href="{{ route('getalladdress', ['addressType' => 'customer']) }}">Customer Address</a>