2015-01-14 81 views
1

你好我從書本即時學習laravel這個代碼和MVCLaravel路徑模型,

Route::model('cat', 'Cat'); 


Route::get('cats/test', function() 
{ 
    return "test_working"; 
}); 

Route::get('cats/{cat}', function(Cat $cat) { 
return View::make('cats.single') 
->with('cat', $cat); 
}); 

Route::get('cats/create', function() { 
    $cat = new Cat; 
    return View::make('cats.edit') 
    ->with('cat', $cat) 
    ->with('method', 'post'); 
}); 

如果第二路由僅在3TH下降的NotFoundHttpException 我知道它與貓相關的/ {貓}和模型的人解釋爲什麼發生這種情況 當然,我可以移動代碼,但我想知道爲什麼。謝謝。

+0

什麼是拋出的網址例外? – marcanuy

+0

Route :: get('cats/create',function()... – user3423298

回答

0

Route::get('cats/{cat}'將「catch」/cats/create,因爲該路線中的{cat}部分與任何內容匹配。不僅有身份證,還有create。您可以將順序更改爲這個有較少限制的一個(cats/{cat})前更嚴格的途徑(cats/create),也可以使用正則表達式只允許號碼{cat}

Route::get('cats/{cat}', function(Cat $cat) { 
    return View::make('cats.single') 
    ->with('cat', $cat); 
})->where('cat', '[0-9]+');