Laravel路线模型

时间:2015-01-14 02:54:51

标签: php laravel laravel-routing

嗨我从本书学习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}有关,而模型可以解释为什么它会发生 当然我可以移动代码,但我想知道为什么。谢谢。

1 个答案:

答案 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]+');