Codeigniter使用不同的值更新多个记录

时间:2012-11-06 21:49:05

标签: codeigniter

我正在尝试使用不同记录的不同值更新某个字段。

如果我使用MySql语法,我认为应该是:

UPDATE products
SET price = CASE id
    WHEN '566423' THEN 49.99
    WHEN '5681552' THEN 69.99
END
WHERE code IN ('566423','5681552');

但如果可能,我更喜欢使用Active Record。

我的输入是制表符分隔的文本,我将其转换为id和每个记录所需值的数组:

$data = array(
               array(
                  'id' => '566423' ,
                  'price' => 49.99
               ),
               array(
                  'id' => '5681552' ,
                  'price' => 69.99
               )
    );

我认为这是update_batch的正确结构,但它失败了。这是我尝试过的:

function updateMultiple()
{
    if($this->db->update_batch('products', $data, 'id'))
    {
        echo "updated";
    }
    else
    {
        echo "failed )-:";
    }

}

我一直都失败了。我错过了什么?

0 个答案:

没有答案