我想创建一个函数,用于删除我创建的表中的一行数据。当我想将数据添加到表中时,我收到错误“路由pkl不支持该方法。支持的方法:GET,HEAD,POST”。
路线
Route::get('pkl', [FormController::class, 'pkl'])->middleware('isLogin');
Route::get('pkl2', [FormController::class, 'pkl2'])->middleware('isLogin');
Route::post('/pkl', [FormController::class, 'Up']); //post ke session
Route::post('/pkl2/form-kedua', [FormController::class, 'upFormKedua']);
Route::delete('/delete', 'FormController@deleteData')->name('data.delete');
字符串
控制器
public function deleteData(Request $request) {
$index = $request->input('index');
if (session('data_preview') && isset(session('data_preview')[$index])) {
session()->pull('data_preview.' . $index);
}
return redirect('/pkl');
}
型
查看
<table class="table table-striped mt-5 text-center" id="tabelData">
<tr>
<th scope="col">No</th>
<th scope="col">Nama </th>
<th scope="col">NIS/NIM </th>
<th scope="col">Kontak </th>
<th scope="col">Jenis Kelamin </th>
<th scope="col">Jurusan </th>
<th scope="col"></th>
</tr>
@if (session('data_preview'))
@php $nomorUrut = 1; @endphp
@foreach (session('data_preview') as $data)
<tr>
<td>{{ $nomorUrut }}</td>
<td>{{ $data['participant_name'] }}</td>
<td>{{ $data['nisnim'] }}</td>
<td>{{ $data['participant_contact'] }}</td>
<td>{{ $data['gender'] == '1' ? 'Laki-Laki' : 'Perempuan' }}</td>
<td>{{ $data['department'] }}</td>
<td>
<form action="/delete" method="post">
@csrf
@method('delete')
<input type="hidden" name="index" value="{{ $loop->index }}">
<button type="submit" class="border border-0"><i class="bi bi-trash" style="color: red"></i></button>
</form>
</td>
</tr>
@php $nomorUrut++; @endphp
@endforeach
@endif
</table>
型
2条答案
按热度按时间goucqfw61#
问题出在你的控制器上。你正在使用
deleteData
方法中的redirect()
重定向到路由\pkl
。你不能这样做。而不是给予您的路由名称使用
name()
,然后使用redirect()->route()
如下,控制器
字符串
路线
型
iovurdzv2#
你还需要在路由中传递id
Route::delete('/delete/{id}',[FormController::class,'deleteData'])->name('data. delete');