如何解决Laravel路线冲突

时间:2018-12-12 17:19:10

标签: php mysql laravel laravel-5 routes

这是在laravel中搜索的简单代码。 路线“产品”根本没有问题,但是, 当我使用路线“ searchproduct”时,浏览器中的网址看起来像这样:

  

http://example.com/application/public/product/search?q=red+dead

因此应用程序认为我正在尝试获取路线“ product”,并将参数urlkey发送为“ search?q = red + dead”,这当然会引发错误。

查看

<form method="GET" action="{{ route('searchproduct') }}" >
    <input id="q" name="q" class="q" type="text" />
    <button type="submit" id="submitButton" class="btn btn-primary">Go</button>

</form>

路线

Route::get('product/{urlkey}','ProductController@index')->name('product');
Route::get('product/search/{q?}','ProductController@search')->name('searchproduct');

请问如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

定义此订单的路线

Route::get('product/search/{q?}','ProductController@search')->name('searchproduct');
Route::get('product/{urlkey}','ProductController@index')->name('product');