我在Laravel 4.2上,我有一条路由(get)在另一条路由(match)之后不起作用。
她工作之前而不是之后。
下面的代码不能工作
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}指定模式,所以它会捕获所有内容,而不会到达第二个路由