Laravel:删除ID错误的数据



我使用Delete按钮删除数据,但在删除数据时,删除的数据与我所说的行不匹配,但删除的数据是位于表顶部的数据

当我使用return $meja时,它应该显示id 7,而不是id 1

更多详细信息:

视图:

@foreach($data as $row)
<tr>
<th scope="row">{{$no++}}</th>
<td>{{$row->no_meja}}</td>
<td>{{$row->keterangan}}</td>
<td>
<a href="{{route('meja.edit',['meja'=>$row->id_meja])}}" class="btn btn-success"><i class="fas fa-edit"></i></a>
<a href="#" data-id="" class="btn btn-danger confirm_script mr-3">
<form action="{{ route('meja.destroy',['meja'=>$row->id_meja])}}" id="delete" method="POST">
@method('DELETE')
@csrf
</form>
<i class="fas fa-trash"></i>
</a>
</td>
</tr>
@endforeach

这是我的javascript

<script>
$(".confirm_script").click(function(e) {
// id = e.target.dataset.id;
swal({
title: 'Yakin hapus data?',
text: 'Data yang dihapus tidak bisa dibalikin',
icon: 'warning',
buttons: true,
dangerMode: true,
})
.then((willDelete) => {
if (willDelete) {
$('#delete').submit();
} else {
swal('Your imaginary file is safe!');
}
});
});
</script>

这是我的控制器:

public function destroy(Meja $meja)
{
$meja->delete();
return redirect()->route('meja.index')->with('destroy',' Berhasil dihapus!');
}

这是我的路由器:

Route::group(['prefix' => 'admin'], function() {
Route::view('/','admin/dashboard.index');
//---MASAKAN---//
Route::resource('masakan','MasakanController');
Route::post('admin/masakan/updatestatus/{masakan}','MasakanController@UpdateStatus')->name('masakan.updateStatus');
//---MEJA---///
Route::resource('meja','MejaController');
//---ADMIN-ACCOUNT---/
Route::resource('adminaccount','AdminController');   
});
这是因为id冲突。你的每个表单id都是delete,但在dom中应该有一个带有id的元素。当你使用sweet alert提交删除表单时,第一个带有deleteid的表单就被提交了,因此第一个项目就被删除了。请改用唯一的id或类。使用类的示例

形成

<form action="{{ route('meja.destroy',['meja'=>$row->id_meja])}}" class="delete_form" method="POST">
@method('DELETE')
@csrf
</form>

甜蜜警报码

$('.delete_form').submit(function(event) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this!",
icon: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.isConfirmed) {
event.currentTarget.submit();
}
})
});

相关内容

  • 没有找到相关文章

最新更新