【发布时间】:2018-12-12 17:19:10
【问题描述】:
这是一个在 laravel 中搜索的简单代码。 路线“产品”完全没有问题,但是, 当我使用路由“searchproduct”时,浏览器中的 url 如下所示:
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');
请问这个问题怎么解决?
【问题讨论】:
-
切换路由的顺序,使其在“通配符”路由之前匹配指定的“搜索”路由。
-
哦,就这样 :D
标签: php mysql laravel laravel-5 routes