为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel:删除ID错误的数据

Laravel:删除ID错误的数据

qq_花开花谢_0 2023-08-24 17:14:16
我使用删除按钮删除数据,但是删除数据时,删除的数据与我所说的行不匹配,但是删除的数据是表顶部的数据当我使用时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');   });
查看完整描述

1 回答

?
泛舟湖上清波郎朗

TA贡献1818条经验 获得超3个赞

这是因为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();

        }

    })

});


查看完整回答
反对 回复 2023-08-24
  • 1 回答
  • 0 关注
  • 90 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信