我正在尝试在laravel4中管理用户。我有用户和复选框的表。我想删除已检查的用户。我以这种方式选择要删除的用户:
var users = new Array();
$("input[type='checkbox']").live("click", function(){
var id = parseInt($(this).val(), 10);
if($(this).is(":checked")) {
users.push(id);
alert(users);
} else {
var index = users.indexOf(id);
users.splice(index, 1);
}
});
然后我想在我的控制器deleteUsers中删除这些用户。我该怎么办?
在路线中我有这个
Route::get('/worker/delete', 'UsersController@deleteworker');
在行动中我有
$userIds = Input::get('checkbox');
foreach ($userIds as $userId) {
$user = DB::table('workers')->find((int) $userId);
if (!empty($user)) {
$user->delete();
}
}
我的ajax调用如下:
$('#delete').click(function(e){
$.ajax({
type: "GET",
url: "worker/delete",
data: { userIds: users } // users - it you array of user ids
})
.done(function() {
alert("Users deleted");
});
});
并且它不起作用
答案 0 :(得分:0)
首先发送一个ajax请求,如下所示:
$('.btn-selector').click(function(e){
e.stopPropogate();
$.ajax({
type: "GET",
url: "/worker/destroyByIds",
data: { userIds: users } // users - it you array of user ids
})
.done(function() {
alert("Users deleted");
});
});
在routes.php
中创建特定路线。在指定的操作中执行此操作
$userIds = Input::get('userIds');
foreach ($userIds as $userId) {
$user = User::find((int) $userId);
if (!empty($user)) {
$user->delete();
}
}