Laravel5.8使用LayUI實現動態刪除
- 2019 年 12 月 22 日
- 筆記
友情提示:此篇文章大約需要閱讀 7分鐘4秒,不足之處請多指教,感謝你的閱讀。訂閱本站
其實在這裡,我並沒有把數據進行刪除,而是把資料庫中設置了一個狀態值,0代表著正常,而1代表著已經刪除,本著數據保護的原則,便於記錄用戶的操作數據,便於後期的查找以及維護,廢話不多說,上程式碼!
路由設置
Route::delete('pic/destroy/{id}', 'PicController@destroy'); //圖片單個刪除控制器
前台程式碼
<table class="layui-table" id="table"> <thead> <tr> <th></th> <th>ID</th> <th>標題</th> <th>排序</th> <th>縮略圖</th> <th>操作</th> </tr> </thead> <tbody> @foreach($data as $value) <tr> <td> <div class="layui-form"> <input type="checkbox" value="{{ $value->id }}" lay-skin="primary" lay-filter="RandomCheckbox"> </div> </td> {{--按序號輸出數值--}} <td>{{ $value->id }}</td> <td>{{ $value->title }}</td> <td> <input type="text" onchange="change(this, {{ $value->id }});" class="layui-input" value="{{ $value->sort }}" name="sort"> </td> <td> <img class="admin-pic-index-img" src="{{ url($value->img) }}" alt="{{ $value->title }}"> </td> <td> <a class="layui-btn layui-btn-sm layui-btn-normal layui-btn-radius" href="/admin/pic/edit/{{ $value->id }}"> <i class="layui-icon layui-icon-edit"></i> </a> <button class="layui-btn layui-btn-sm layui-btn-danger layui-btn-radius" href="javascript:;" onclick="del(this, {{ $value->id }});"> <i class="layui-icon layui-icon-delete"></i> </button> </td> </tr> @endforeach </tbody> </table>
前台JS處理程式碼
/** * 刪除單個元素方法 * @param obj * @param id */ function del(obj, id){ layer.confirm('確定要刪除么?', { btn: ['確定','取消'] }, function(){ $.post( //請求地址及參數 '/admin/pic/destroy/'+id, //數據 & 方式 & CSRF認證 {'id':id,'_method':'delete', '_token':'{{ csrf_token() }}'}, //回調結果處理函數 function(res){ //如果大於0,則表示成功 if(res.code>0){ layer.alert(res.msg,{icon:2}) }else{ layer.msg(res.msg); setTimeout(function(){window.location.reload();}, 1000) } }, 'json' ); }); }
後端處理程式碼
/** * 刪除圖片操作 * @param Request $request */ public function destroy(Request $request){ $id = $request->id; $sql = DB::update('update pic set status=1 where id=?',[$id]); if($sql){ exit(json_encode(array('code'=>0, 'msg'=>'刪除成功'))); }else{ exit(json_encode(array('code'=>1, 'msg'=>'刪除出現異常'))); } }