Laravel 如何解决[Route:update_pns][URI:update/{id}]缺少的必需参数
我想创建更新功能。我创建表单,我在表单上显示数据,我创建按钮提交以提交数据。但在我提交后,我得到了错误 缺少[Route:update_pns][URI:update/{id}]所需的参数 是我的控制器显示数据Laravel 如何解决[Route:update_pns][URI:update/{id}]缺少的必需参数,laravel,Laravel,我想创建更新功能。我创建表单,我在表单上显示数据,我创建按钮提交以提交数据。但在我提交后,我得到了错误 缺少[Route:update_pns][URI:update/{id}]所需的参数 是我的控制器显示数据 public function edit_pns($id) { $pns = Data_pns::findOrFail($id); if (!$pns) abort(404); $agama = DB::table('master_agama')->
public function edit_pns($id)
{
$pns = Data_pns::findOrFail($id);
if (!$pns)
abort(404);
$agama = DB::table('master_agama')->pluck('agama','id');
$golongan = DB::table('master_golongan')->pluck('golongan','id');
$jabatan = DB::table('master_jabatan')->pluck('nama_jabatan','id');
$unit_kerja = DB::table('master_unit_kerja')->pluck('unit_kerja','id');
$status_pegawai = DB::table('master_status_pegawai')->whereIn('id',[3,4])->pluck('status_pegawai','id');
//dd($pns);
return view('admin/edit/edit_pns', ['pns' => $pns ,'golongan'=>$golongan,
'jabatan'=>$jabatan,'unit_kerja'=>$unit_kerja,'agama'=>$agama,'status_pegawai'=>$status_pegawai]);
}
它是我的控制器,用于存储要更新的数据
public function update_pns(Request $request,$id)
{
$pns = User::find($id);
$pns->nama = $request->input('nama');
$pns->email = $request->input('email');
$pns->alamat = $request->input('alamat');
$pns->NIK = $request->input('NIK');
$pns->tempat_lahir = $request->input('tempat_lahir');
$pns->tanggal_lahir = $request->input('tanggal_lahir');
$pns->pendidikan = $request->input('pendidikan');
$pns->nomor = $request->input('nomor');
$pns->agama_id = $request->input('agama_id') ;
$pns->status_pegawai_id = $request->input('status_pegawai_id');
$pns->unit_kerja_id = $request->input('unit_kerja_id') ;
dd($pns);
// $pns->update();
// return redirect('pns1')->with('success', 'Your info are updated');
}
这条路怎么走
Route::get('/edit_pns/{id}', 'AdminController@edit_pns' );
Route::post('/update/{id}', 'AdminController@update_pns')->name('update_pns');
这有什么不对吗
更新
<form method="POST" action="{{ route('update_pns') }}" class="form-horizontal form-label-left">
@csrf
<span class="section">Lengkapi Form Dibawah ini :</span>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="nama">NAMA <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="nama" type="text" class="form-control @error('nama') is-invalid @enderror" name="nama" value="{{$pns->users->nama}}" required autocomplete="nama">
@error('nama')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="NIK">NIK <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="NIK" type="text" class="form-control @error('NIK') is-invalid @enderror" name="NIK" value="{{$pns->users->NIK}}" required autocomplete="NIK" placeholder="3314********">
@error('NIK')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="email">Email <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="email" type="email" class="form-control @error('email') is-invalid @enderror" name="email" value="{{$pns->users->email}}" required autocomplete="email" placeholder="contoh@gmail.com" required>
@error('email')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="tempat_lahir">Tempat Lahir <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="tempat_lahir" type="text" class="form-control @error('tempat_lahir') is-invalid @enderror" name="tempat_lahir" value="{{$pns->users->tempat_lahir}}" required autocomplete="tempat_lahir">
@error('tempat_lahir')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="tanggal_lahir">Tanggal Lahir <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="tanggal_lahir" type="date" class="form-control @error('tanggal_lahir') is-invalid @enderror" name="tanggal_lahir" value="{{$pns->users->getOriginal('tanggal_lahir')}}" required autocomplete="tanggal_lahir">
@error('tanggal_lahir')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label for="jenis_kelamin" class="control-label col-md-3">Jenis Kelamin <span class="required">*</span></label>
<div class="col-md-6 col-sm-6 col-xs-12">
<td>
<label> Laki-Laki<input type="radio" name="jenis_kelamin" value="L" checked>
</label>
</td>
<td>
<label> Perempuan
<input type="radio" name="jenis_kelamin" value="P">
</label>
</td>
@error('jenis_kelamin')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="pendidikan">Pendidikan Terakhir <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="pendidikan" type="text" class="form-control @error('pendidikan') is-invalid @enderror" name="pendidikan" value="{{$pns->users->pendidikan}}" required autocomplete="pendidikan">
@error('pendidikan')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="nomor">Nomor HP <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<input id="nomor" type="text" class="form-control @error('nomor') is-invalid @enderror" name="nomor" value="{{$pns->users->nomor}}" required autocomplete="nomor" placeholder="contoh 628572510294">
@error('nomor')
<span class="invalid-feedback" role="alert">
<strong>{{ $message }}</strong>
</span>
@enderror
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Agama <span class="required">*</span></label>
<div class="col-md-6 col-sm-9 col-xs-12">
<select name="agama_id" id="agama_id" class="form-control">
@foreach($agama as $masters => $agamas )
<option value="{{ $masters }}" @if ($pns->users->agama_id == $masters ) selected @endif>{{ $agamas }}</option>
@endforeach
</select>
</div>
</div>
<div class="item form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12" for="alamat">Alamat <span class="required">*</span>
</label>
<div class="col-md-6 col-sm-6 col-xs-12">
<textarea id="alamat" required="required" name="alamat" value="" class="form-control col-md-7 col-xs-12">{{$pns->users->alamat}}</textarea>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Unit Kerja <span class="required">*</span></label>
<div class="col-md-6 col-sm-9 col-xs-12">
<select name="unit_kerja_id" id="unit_kerja_id" class="form-control">
@foreach($unit_kerja as $units => $unit )
<option value="{{ $units }}" @if ($pns->users->unit_kerja_id == $units ) selected @endif>{{ $unit }}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label class="control-label col-md-3 col-sm-3 col-xs-12">Status Pegawai <span class="required">*</span></label>
<div class="col-md-6 col-sm-9 col-xs-12">
<select name="status_pegawai_id" id="status_pegawai_id" class="form-control">
@foreach($status_pegawai as $status => $pegawai )
<option value="{{ $status }}" @if ($pns->users->status_pegawai_id == $status ) selected @endif>{{ $pegawai }}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<div class="col-md-6 col-md-offset-3">
<button id="send" type="submit" class="btn btn-success">Submit</button>
</div>
</div>
</form>
@csrf
Lengkapi表Dibawah-ini:
纳米*
@错误('nama')
{{$message}}
@恩德罗
尼克*
@错误('NIK')
{{$message}}
@恩德罗
电子邮件*
@错误('电子邮件')
{{$message}}
@恩德罗
坦帕特拉希尔*
@错误('tempat_lahir')
{{$message}}
@恩德罗
唐加拉希尔*
@错误('tanggal_lahir')
{{$message}}
@恩德罗
杰尼斯·克拉明*
拉基拉基
佩伦普安
@错误('jenis_kelamin')
{{$message}}
@恩德罗
佩迪迪坎·特拉基尔*
@错误('pendidikan')
{{$message}}
@恩德罗
诺莫惠普*
@错误('nomor')
{{$message}}
@恩德罗
阿加玛*
@foreach($agamas作为$masters=>$agamas)
用户->agama_id==$masters)选择@endif>{{{$agamas}
@endforeach
阿拉马特*
{{$pns->users->alamat}
克尔贾单位*
@foreach($units_kerja作为$units=>$unit)
用户->unit_kerja_id==$units)选择@endif>{{{$unit}
@endforeach
Pegawai地位*
@foreach($status\u pegawai as$status=>$pegawai)
用户->状态\u pegawai\u id==$status)选择@endif>{{{$pegawai}
@endforeach
提交
您的路由需要一个参数才能解析,{id}
,因此,您应该使用路由(路由('update_pns')
而不是表单的操作
中的路由('update_pns',$idDesired)
,而不是$idDesired
,由于您正在控制器中使用请求,您应该将要在更新\u pns
方法上获取的id写为$id
将路线更改为:
Route::post('/update', 'AdminController@update_pns')->name('update_pns');
对于你的控制器,你可以这样做
public function update_pns(Request $request)
{
$pns = User::find($request->id);
...
}
还可以为html创建一个隐藏输入,以获取请求id
<input tpye="hidden" value="{{ $id }}" name="id" />
post表单请更新我的问题您可以通过以下方式将整个模型作为参数传递:action=“{{route('update_pns',$pns)}”
ok它解决了我的第一个问题,但现在我提交此表单,我没有找到404。这是我的错误路径?当您按下按钮时,您会按照浏览器栏上的要求看到哪个链接?也会删除每个文件