如何解决Laravel-缺少路线所需的参数
我在Laravel 7中的路线有问题,不确定我在哪里,这里出问题了。
我有以下路线声明:
Route::group(['prefix'=>'config','namespace'=>'Config'],static function () {
Route::resource('id-generation','IDSettingsController',['names'=>'config.id_generation'])->only(['index','edit','update']);
});
然后是一个控制器:
public function edit(IdSetting $setting)
{
return view('config.id.edit')->with(['setting'=>$setting]);
}
然后查看:
<form method="post" action="{{route('config.id_generation.update',['id_generation'=>$setting])}}">
@method('patch')
@csrf
<x-inputs.text-input name="prefix" :model-object="$setting" />
<x-inputs.button/>
</form>
但是我不断收到错误消息:
Illuminate\Routing\Exceptions\UrlGenerationException
Missing required parameters for [Route: config.id_generation.update] [URI: config/id-generation/{id_generation}].(View: F:\PROJECTS\PHP\app\resources\views\config\id\edit.blade.php)
在我所能看到的范围内,我已经正确地完成了所有操作。甚至技工命令route:list也可以清楚地显示带有其参数等的路线。
我可能在哪里弄错了。
令人惊讶的是,如果我将其更改为{{url('config / id-generation /',$ setting)}},一切似乎都能正常工作。
解决方法
您必须将模型变量名称与资源名称进行匹配,您可以使用as
对其进行自定义:
Route::group(['prefix'=>'config','namespace'=>'Config'],static function () {
Route::resource('id-generation','IDSettingsController',['names'=>'config.id_generation','as' => 'setting'])->only(['index','edit','update']);
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。