我想使用
更新多行$this->db->update_batch('mytable', $data);
但不知道如何在此update_batch中给出条件。我可以用这个吗?
$this->db->where('id', Multiple Ids Here);
答案 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
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'
返回受影响的行数。