ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2019-07-17 13:27:54  阅读:256  来源: 互联网

标签:php mysql ajax cakephp-2-0


基本上,我想这样做,用户将选中复选框,然后单击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);     
}

标签:php,mysql,ajax,cakephp-2-0
来源: https://codeday.me/bug/20190717/1489146.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有