如何解决路线匹配问题

时间:2019-08-28 07:18:07

标签: php laravel

我配置了两条路线。

Route::get("/team/{team}", "TeamController@show");
Route::get("/team/members", "TeamController@members");

但是,当我要访问路线/team/members时,我会被误导到路线/team/{team}

我试图在RouteServiceProvider的启动方法中使用正则表达式来限制路由参数

public function boot()
{
    parent::boot();

    Route::pattern('members', "/^((?!members).)*$/is");
}

但这没用。

仍然使用邮递员访问界面进行/team/show路由。那我该怎么办?

1 个答案:

答案 0 :(得分:0)

您需要更改路线的顺序,否则{team}也将捕获'members'

Route::get("/team/members", "TeamController@members");
Route::get("/team/{team}", "TeamController@show");

Laravel始终使用第一个匹配路线。