嘿我正在制作一个编辑页面供用户编辑信息,但我收到了这个错误。
控制器代码为:
public function edit($id)
{
$doctor = Doctor::find($id);
// Redirect to state list if updating state wasn't existed
if ($doctor == null || count($doctor) == 0) {
return redirect()->intended('doctor/doctorList');
}
return view('doctor/doctorEdit', ['doctor' => $doctor]);
}
我的路线是:
Route::get('doctor/doctorEdit/edit','DoctorController@edit')->name('doctor.edit');
我的观点是:
<a href="{{ route('doctor.edit', ['id' => $doctor->id]) }}" class="btn btn-warning col-sm-3 col-xs-5 btn-margin" style="width:100px; margin-left:20px;">
Update
</a>
请让我知道我做错了什么。
答案 0 :(得分:3)
由于您的控制器方法正在接受参数,因此您的路线需要在其中包含参数。
Route::get('doctor/{doctor}/edit','DoctorController@edit')->name('doctor.edit');
答案 1 :(得分:0)
您没有在路径文件中传递通配符(参数)。
更改您的路线,以匹配与特定医生相关的主键,它可以是用户名或只是ID。
Route::get('doctor/{id}/doctorEdit/edit','DoctorController@edit')->name('doctor.edit');
确保根据目录
正确传递通配符在控制器中使用该通配符
public function edit($id)
{
$doctor = Doctor::where('id', $id)->first();
// Redirect to state list if updating state wasn't existed
if ($doctor == null || count($doctor) == 0) {
return redirect()->intended('doctor/doctorList');
}
return view('doctor/doctorEdit', ['doctor' => $doctor]);
}
答案 2 :(得分:0)
你的路线没有参数,所以改变路线。
从此。
Route::get('doctor/doctorEdit/edit','DoctorController@edit')->name('doctor.edit');
到这个
Route::get('doctor/doctorEdit/edit/{id}','DoctorController@edit')->name('doctor.edit');
或者您可能希望使用相同的方法发布
Route::match(['get', 'post'], 'doctor/doctorEdit/edit/{id}','DoctorController@edit')->name('doctor.edit');