2015-03-19 49 views
2

我想直接按列扣除數量,但它在查詢中添加單引號。Codeigniter更新批量查詢問題

任何機構都可以知道它的解決方案嗎?

Array 
(
    [0] => Array 
     (
      [qnty_hold] => qnty_hold + 1 
      [qnty] => qnty - 1 
      [sku] => LN_STEEL_N3_BLK_M 
     ) 

) 

//Query Set 
$this->db->_protect_identifiers=false; 
$this->db->update_batch('table', $batchUpdateProductQtyData, 'sku'); 

//Query output 
UPDATE table SET qnty_hold = CASE WHEN sku = 'LN_STEEL_N3_BLK_M' THEN 'qnty_hold + 1' ELSE qnty_hold END, qnty = CASE WHEN sku = 'LN_STEEL_N3_BLK_M' THEN 'qnty - 1' ELSE qnty END WHERE sku IN ('LN_STEEL_N3_BLK_M') 

回答

0

默認情況下codeigniter會嘗試保護您的查詢。當使用select語句時,你可以覆蓋這個像

$this->db->select("somefield",$value,FALSE); 

嘗試在你的update_batch結束時放置false,值得一試。

+0

我嘗試過,但它也沒有工作 – 2015-03-20 06:52:25