我正在识别我目前正在提醒我想在我的userController中将这些ID发布到 destroyAll 方法 这是我通过警报
获取身份的方法function deleteAll () {
var checkedValues = $('input:checkbox:checked').map(function() {
return this.value;
}).get();
alert(checkedValues);
}
我想通过ajax发布这些值并在那里删除 路线为
Route::post('/user-management/user/destroyAll', 'UserController@destroyAll');
答案 0 :(得分:2)
您需要使用ajax:
$.ajax({
type : "POST",
url : "{{ url('/user-management/user/destroyAll') }}",
data : {ids: checkedValues, _token: "{{ csrf_token() }}"},
success : function (response) {
console.log('Success', response);
},
error : function (response) {
console.log('Error', response);
},
dataType: "JSON"
});
然后在控制器中捕获id:
public function destroyAll(Request $request)
{
// get ids
$ids = $request->input('ids');
// remove first
array_shift($ids);
// delete users with id
return User::whereIn('id', $ids)->delete();
}
答案 1 :(得分:0)
将您的值加入字符串将它们添加到隐藏的输入中,并在控制器中执行whereIn函数以获取所有用户并删除它们:
HTML:
<input type="hidden">
JS:
$('input[type="hidden"]').val(checkedValues.join(','));
PHP:
public function destroyAll(Request $request)
{
$checkedValues = explode(','$request->input("checkedValues"));
$user = User::whereIn('id',$checkedValues);
$user->delete();
//redirect back to the page after delete
}
优化您的选择器以不选择第一个:
checkedValues = $('input:checkbox:checked:not(:first)')