嗨我从本书学习laravel和mvc
这个代码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');
});
如果第二条路线在3号线上,则会发出NotFoundHttpException 我知道它与cat / {cat}有关,而模型可以解释为什么它会发生 当然我可以移动代码,但我想知道为什么。谢谢。
答案 0 :(得分:0)
Route::get('cats/{cat}'
将“捕获”/cats/create
,因为一条路线中的{cat}
部分与任何内容相匹配。不仅是id,还有create
。您可以将订单更改为此选项,以便在限制较少的路线(cats/create
)之前设置更受限制的路线(cats/{cat}
),或者您可以使用正则表达式仅允许{cat}
的数字:< / p>
Route::get('cats/{cat}', function(Cat $cat) {
return View::make('cats.single')
->with('cat', $cat);
})->where('cat', '[0-9]+');