微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用CakePHP 2.6中的IN(MySQL)一起删除多个记录

基本上,我想这样做,用户将选中复选框,然后单击deleteall按钮一次删除多个记录.为此,我触发ajax并获取所有选择的id,然后选择id发送到控制器的方法.

我使用delete方法数据库删除多个记录,但它无法正常工作.

而且我不想使用循环删除多个记录.

CakePHP有没有其他方法可以同时删除多条记录?

我尝试下面的代码

script.js:

$('#del_all').click(function(){
    var selected=[];
    $('.check:checked').each(function(){
        selected.push($(this).attr('id'));
    });

     $.ajax({
            type: "post",  
            url: "Users/deleteall", // URL to request
            data: {"id":selected},  // Form variables                  
            success: function(response){ 
                  alert(response);                 
            }
         });

});

控制器方法

public function deleteall(){
    $data=$this->request->data['id'];
    $user_ids=implode("','",$data);
    $user_ids="'".$user_ids."'";
    $this->User->delete($user_ids,$cascade=false);      
}

解决方法:

尝试使用deleteall尝试使用此功能

public function deleteall()
{
    $user=array(1,2,3);     // replace with real values
    $condition = array('User.id in' => $user);
    $this->User->deleteall($condition,false);     
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐