使用 resource 定义路由访问不存在的 id 为什么没有 404 ?
我使用 resource 注册了路由 u 来显示个人中心,访问 laravel.test/u/2 (并没有 id 为 2 的数据),竟然不显示 404,打印 $user->name
也为 null
。
如果用 user 或者 users 就正常。
// 异常,没有数据但显示页面
Route::resource('/u', 'UsersController', ['only' => ['show', 'edit', 'update']]);
// 正常,没有数据显示 404 页面
Route::resource('/user', 'UsersController', ['only' => ['show', 'edit', 'update']]);
Route::resource('/users', 'UsersController', ['only' => ['show', 'edit', 'update']]);
当我改为一条一条的定义路由时,访问就会显示 404,Bug 吗?
// 正常
Route::get('/u/{user}', 'UsersController@show')->name('u.show');
Route::get('/u/{user}/edit', 'UsersController@edit')->name('u.edit');
Route::patch('/u/{user}', 'UsersController@update')->name('u.update');
推荐文章: