我在Laravel 4.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']);
});
为什么?
答案 0 :(得分:1)
可能在第一个代码中
/ {id}此根优先于/ x
所以如果你去/ x路线,这被认为是下一个 / {id}路线的id变量
如果你以第二种方式宣布,你首先宣布路线x,使其优先化,并在那里工作得很好。
答案 1 :(得分:1)
您没有为{id}指定模式,因此它捕获所有内容并且从未到达第二条路线。