php - 如何解决Laravel路由冲突

标签 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');

请问这个问题如何解决?

最佳答案

定义此顺序的路线

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

关于php - 如何解决Laravel路由冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53748216/

相关文章:

laravel - 验证 POST 请求 Laravel?

Laravel 查询生成器 : How do I sort results by date - first with ascending order by future dates and then by descending order by past dates?

php - 框架助手,它们有什么用?

javascript - 如何在强制重新加载时替换页面内容?

php - Mysql mysql_num_rows($result);备择方案

php - 如何划分存储在 phpmyadmin 数据库中的字符串并以任意顺序从该字符串中搜索单词?

php - Laravel - 从模型中操作数据

php - 如何获取上次访问的项目 - sql

java - 从数据库反序列化 blob 字段时出现 InvalidClassException

Mysql使用通配符提高搜索性能(%%)