Php Laravel 4.2:路线(get)在另一条路线(匹配)后不工作

Php Laravel 4.2:路线(get)在另一条路线(匹配)后不工作,php,laravel,laravel-4,routes,Php,Laravel,Laravel 4,Routes,我在Laravel4.2上,我有一条路线(get)在另一条路线(比赛)后不起作用 她以前工作,但之后不工作 以下代码不起作用 Route::group(array('prefix' => 'messages'), function(){ ... Route::match(['GET','POST'], '/{id}', ['uses' => 'TestController@conversation', 'as' => 'test.messagerie.conve

我在Laravel4.2上,我有一条路线(get)在另一条路线(比赛)后不起作用

她以前工作,但之后不工作

以下代码不起作用

Route::group(array('prefix' => 'messages'), function(){
    ...
    Route::match(['GET','POST'], '/{id}', ['uses' => 'TestController@conversation', 'as' => 'test.messagerie.conversation']);
    Route::get('x', ['uses' => 'TestController@test']);
});
以下代码有效

Route::group(array('prefix' => 'messages'), function(){
    ...
    Route::get('x', ['uses' => 'TestController@test']);
    Route::match(['GET','POST'], '/{id}', ['uses' => 'TestController@conversation', 'as' => 'test.messagerie.conversation']);
});

为什么?

可能在第一个代码中

/{id}此根目录的优先级为/x

因此,如果您转到/x路由,这将被视为下一个/{id}路由的id变量


如果你以第二种方式声明,你首先声明的是路径x,因此它是优先的,并且在那里工作得很好。

你没有为{id}指定一个模式,因此它捕获了所有东西,并且永远不会到达第二条路径