我正在使用下面的代码来更新 CodeIgniter 购物车 session 中的价格金额。
$vars = array('rowid' => $_POST['rowid'],'price' => $amount);
var_dump($this->cart->update($vars));
但结果没有反射(reflect)。请指导我哪里错了。
最佳答案
我知道问题提出已经有一段时间了,但我也遇到了同样的问题,并且认为这可能会对将来的其他人有所帮助。
默认情况下,CodeIgniter 购物车不允许您更新价格或任何非数量的元素。有两种方法可以处理这个问题。
第一个是复制内容并更新副本,然后删除原始内容并再次插入。这可能有点困惑:
$data = $delete = $this->cart->contents()[0];
$data['price'] = $new_price;
$delete['qty'] = 0;
$this->cart->update($delete);
$this->cart->insert($data);
第二种方法是使用以下方法更新购物车类:http://blog.thecodingbox.me/codeigniter-cart-class-extended-to-update-price/并按应有的方式更新购物车。我不得不说我从未尝试过这个。
关于codeigniter - 更新 codeigniter 购物车 session 中的价格金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24691360/