我有这个问题。 在我的仪表板中,我想为我的注册用户和管理员取消激活和激活帐户
这是我的控制器:
public function destroy($id)
{
$getVal = Input::has('status');
if($getVal === false) //if checkbox is set to false
{
$this->users->softDel($id);
}
else
{
//if checkbox is set to true
$this->users->restoreDel($id);
}
return redirect('\users');
}
型号:
public function softDel($id)
{
return User::where('id',$id)->delete();
}
public function restoreDel($id)
{
return User::where('id',$id)->restore();
}
刀片:
{!! Form::open(['method' => 'DELETE' , 'route' => ['users.destroy',$data->id]]) !!}
<!--checkbox-->
{!! Form::checkbox('status',null,( $data->deleted_at != null ? false : true ),['data-toggle' => 'toggle', 'data-size' => 'small','data-on' => 'activate' , 'data-off' => 'deacticvate' , 'data-offstyle' => 'danger' , 'data-onstyle' => 'success', 'class' => 'status' , 'data-id' => ($data->id)]) !!}
<!---->
{!! Form::close() !!}
这是我的ajax请求:
jQuery(function($){
$('.status').on('change',function(){
var currentToken = $('meta[name="csrf-token"]').attr('content');//getting the token
var id = $(this).data('id');
$.ajax({
method: "DELETE",
url: "/users/"+id,
dataType: "json",
data: { _token: currentToken},
success:function(response)
{
console.log(response);
}
});
});
});
我只使用软删除删除/恢复任何帐户.. 我的控制器只会执行IF语句。 我不知道发生了什么。请帮忙:)谢谢
答案 0 :(得分:1)
我建议你应该根据复选框选中/取消选中,从你的AJAX调用中传递status
,
$.ajax({
method: "DELETE",
url: "/users/"+id,
dataType: "json",
data: { _token: currentToken,status:this.checked?1:0},
success:function(response) {
console.log(response);
}
});
将控制器更改为
public function destroy($id)
{
$getVal = Input::get('status'); //you will get 1 or 0 here
if(!$getVal) { // if checkbox is unchecked, then status is 0
$this->users->softDel($id);
}
else { // in case of 1
//if checkbox is set to true
$this->users->restoreDel($id);
}
return redirect('\users');
}