如何在Codeigniter中使用更新批处理中的条件

时间:2017-06-01 11:58:12

标签: codeigniter codeigniter-3

我想使用

更新多行
$this->db->update_batch('mytable', $data);

但不知道如何在此update_batch中给出条件。我可以用这个吗?

$this->db->where('id', Multiple Ids Here); 

2 个答案:

答案 0 :(得分:2)

我的代码与您的代码不同,但是它有效并且很容易理解首先将此函数放入模型文件中

模型文件中的

function updatedata($tbname, $data, $parm)
    {
        return $this->db->update($tbname, $data, $parm);    
    }
你的控制器文件中的

就像这样使用

  $this->load->model("Your_model_name");    
  $this->Your_model_name->updatedata('mytable',$data,$your_condition_in_array);

我希望这会有所帮助,我确信此代码有效,请让我知道此代码适合您。

答案 1 :(得分:0)

根据1

上的CodeIgniter文档
update_batch()

第一个参数将包含表名,第二个参数是值的关联数组,第三个参数是where键。

换句话说,该数组包含要更新的字段的所有数据以及用于定义"其中"的项目。条件。在上面的数组中,与" title"相关联的值使用密钥。因此,更新了两条记录:一条记录​​$data = array( array( 'title' => 'My title' , 'name' => 'My Name 2' , 'date' => 'My date 2' ), array( 'title' => 'Another title' , 'name' => 'Another Name 2' , 'date' => 'Another date 2' ) ); $this->db->update_batch('mytable', $data, 'title'); ,第二条记录title = 'My title'

title = 'Another title'返回受影响的行数。