Laravel 路线模型
Laravel route model
你好,我从我正在学习的书中得到了这段代码 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');
});
如果第二条路线在第三条路线上,则抛出 NotFoundHttpException
我知道它与 cats/{cat} 和模型有关,有人可以解释为什么会这样吗
当然我可以移动代码,但我想知道为什么。谢谢。
Route::get('cats/{cat}'
将 "catch" /cats/create
因为一条路线中的 {cat}
部分匹配任何内容。不仅是 id,还有 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]+');
你好,我从我正在学习的书中得到了这段代码 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');
});
如果第二条路线在第三条路线上,则抛出 NotFoundHttpException 我知道它与 cats/{cat} 和模型有关,有人可以解释为什么会这样吗 当然我可以移动代码,但我想知道为什么。谢谢。
Route::get('cats/{cat}'
将 "catch" /cats/create
因为一条路线中的 {cat}
部分匹配任何内容。不仅是 id,还有 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]+');