【发布时间】:2016-07-03 03:58:31
【问题描述】:
我正在使用 Laravel 5.2 构建一个项目,在 routes.php 文件中我有接下来的 2 条路线:
Route::get("/products/{id}", [
"as" => "products.show",
"uses" => "ProductsController@show",
]);
Route::get("/products/search", [
"as" => "products.search",
"uses" => "ProductsController@search",
]);
按此顺序,第一条路线 products.show 工作正常且符合预期,但第二条路线 products.search 却没有,它提供了一个空白网页,而不是预期的搜索结果。
我尝试通过更改他们的订单并将products.search 路由放在products.show 路由之前来解决问题,当我这样做时,它运行良好且符合预期。
那么,有什么问题吗?为什么会这样?
P.S:另一种解决方案是将下一条规则放在 route.php 文件的开头:
Route::pattern("id", "[0-9]+");
当我添加这条规则时,两条路线都找到了,哪一条先来并不重要。但是如果我没有添加这条规则呢?
【问题讨论】:
标签: php laravel laravel-5.2 laravel-routing