4 回答
TA贡献1827条经验 获得超8个赞
这就是我们尝试删除 Laravel 的方式
public function destroy(User $user)
{
$user->delete();
return Redirect::route('home')->with('global', 'Your account has been deleted!');
}
TA贡献1810条经验 获得超5个赞
改变
<form action="{{ route('delete', $user)}} " method="post">
至
<form action="{{ route('delete', ['user' => $user]) }}" method="post">
在模态。
还
<a class="dropdown-item" href="{{ route('users.destroy', $user)}}">Delete Account </a>
不起作用,因为它是 GET 请求。删除应该是一个 DELETE 请求。
所以你应该点击打开模态;
<a href="#" data-toggle="modal" data-target="#deleteModal" class="dropdown-item"> Delete Account</a>
TA贡献1772条经验 获得超8个赞
根据您的配置,您似乎为表单和锚点使用了错误的别名。你应该切换它们。
这是你的路线配置:
Route::get('/users/delete', '[...]')->name('delete'); Route::delete('admin/users/{user}', '[...]')->name('users.destroy');
这是你应该如何使用它们:
你
<a/>
应该使用route('delete')
你
<form/>
应该使用route('users.destroy', ['user' => $userId])
.
您的删除操作应如下所示:
删除用户
注销当前用户
重定向到某处
public function destroy($id)
{
User::find($id)->delete();
Auth::logout();
return Redirect::route('home')
->with('global', 'Your account has been deleted!');
}
希望这可以帮助。
TA贡献1848条经验 获得超2个赞
你可以使用 ajax 和 sweetalert 来做到这一点,它对 ui 更具交互性
在你的刀片文件中
@foreach($user as $u)
<a href="javascript:void(0);" classs="delete" data-id="{{$u->id}}">Delete</a>
@endforeach
在你的刀片底部你可以调用ajax请求
<script>
$(document).on('click','.delete',function()
{
var id = $(this).data('id');
swal({
title: 'Are you sure you want to delete this?',
type: "warning",
showCancelButton: true,
confirmButtonClass: "btn btn-danger m-btn m-btn--pill m-btn--icon m-btn--air",
confirmButtonText: '<span><i class="la la-thumbs-up"></i> Yes, Delete it!</span>',
cancelButtonClass: 'btn btn-secondary m-btn m-btn--pill m-btn--icon m-btn--air',
cancelButtonText: '<span><i class="la la-thumbs-down"></i>No, thanks</span>',
}).then(function(e){
if(e.value){
$.ajax({
url:"{{route('admin.document.delete')}}",
type:'POST',
headers:{ 'X-CSRF-Token' : jQuery('meta[name=csrf-token]').attr('content') },
dataType:'json',
data:{'id':id,_token: '{{csrf_token()}}'},
success:function(response){
var msg = response.msg;
if(response.status=='success'){
//here you can do whatever after delete msg
//for reload u can use - (location.reload);
}
},
});
}
});
});
</script>
最后在你的控制器中
public function destroy(Request $request)
{
$id=$request['id'];
$delete = manageMultipleDocument::find($id)->delete();
//optional
$flashArr = array(
'msg' => 'Document deleted successfully.',
'status' => 'success'
);
//optional
$request->Session()->flash('succ_message',$flashArr);
//Required return any thing
return $flashArr;
}
- 4 回答
- 0 关注
- 140 浏览
添加回答
举报