我正在使用Codeigniter购物车。我想更新多个购物车项目。这就是我在做什么

public function updatecart(){

    foreach ($this->input->post() as $value){
        $this->cart->update(array(
            'rowid'      =>     $value['rowid'],
            'qty'        =>     $value['qty'],
        ));
    }
    redirect(base_url().'product/cart');
}


这段代码仅更新购物车中的第一个项目,而不更新所有项目,需要您的帮助进行修复,如果我这样做的话,这就是我得到的。

Array
(
    [1] => Array
        (
            [rowid] => ad61ab143223efbc24c7d2583be69251
            [qty] => 7
        )

    [2] => Array
        (
            [rowid] => d09bf41544a3365a46c9077ebb5e35c3
            [qty] => 1
        )

)


当我更新它只更新第一个数组索引的数量索引

最佳答案

创建数组后,将其传递给它。

foreach ($this->input->post() as $value){
   $data[] = array(
      'rowid'      =>     $value['rowid'],
      'qty'        =>     $value['qty'],
    );
 }

$this->db->update_batch('mytable', $data, 'rowid');


这应该更新数组中具有rowid的每一行,而且速度也更快

关于php - Codeigniter:更新多个购物车项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40152751/

10-12 16:42