Laravel 6路由staff.update缺失必填参数问题求助
问题排查与解决
核心原因
错误提示的URI是server/{server}/staff/update/{id},但你写的路由定义是Route::post('/staff/update/{id}', ...),这说明这条路由被嵌套在带{server}参数的路由组里了(比如Route::prefix('server/{server}')->group(function() { ... })),所以实际生效的路由需要两个必填参数:server和id,但你调用route('staff.update', $user->id)时只传了id,缺少server参数导致报错。
解决步骤
- 先确认路由实际结构:运行
php artisan route:list,找到staff.update路由,查看它的完整URI和所需参数,验证是否包含server/{server}。 - 生成路由时传递所有必填参数:
如果是传参数ID:
如果用模型绑定(比如你有{{ route('staff.update', ['server' => $serverId, 'id' => $user->id]) }}$server对象):{{ route('staff.update', [$server, $user->id]) }} - 若不需要
server参数:把这条路由移到server/{server}路由组的外面,确保它的URI为/staff/update/{id},这样只传$user->id即可。
内容的提问来源于stack exchange,提问作者Aspect
相关产品推荐
相关产品推荐

