Codeigniter update_batch增量值

时间:2016-11-22 15:49:36

标签: php mysql arrays codeigniter

如果我错了,请纠正我,我正在尝试更新多行,增加其值,据我所知,使用update_batch()是不可能的,因为CI在使用update_batch()时总是转义值,这是正确的,或者如果有办法,请详细说明作为答案的方式。例如,我有这个数组:

$array = array(
    array(
        'product_id' => '1',
        'value' => '5',
    ),
    array(
        'product_id' => '2',
        'value' => '15'
    )
);

现在我想通过将列值(INT)增加数组中data_id = product_id列的数组中的值来更新我的表。

我现在正在做的是使用像这样的集合循环

foreach($array as $a) {
    $this->db->set('value' + $a['value'], FALSE);
    $this->db->where('product_id', $a['product_id'];
    $this->db->update('table');
}

但是有时候我需要更新超过10行,而且我认为这个过程成本高,需要大量内存,如何进一步简化这种方法以获得相同的结果呢?

所有答案都非常受欢迎和赞赏。 提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用$this->db->update_batch();一次更新多条记录。有关更新查询,请参阅 codeigniter user guide