MyController.php
public function save_order()
{
$order = array(
'createdBy'=>$this->vendorId,
'createdDtm'=>date('Y-m-d H:i:s')
);
$ord_id = $this->transaction_model->insert_order($order);
if ($cart = $this->cart->contents()):
foreach ($cart as $item):
$order_detail = array(
'transactionId' => $ord_id,
'productId' => $item['id'],
'quantity' => $item['qty'],
'price' => $item['price']
);
$this->transaction_model->insert_order_detail($order_detail);
endforeach;
endif;
redirect('transactionListing');
}
transaction_model.php
public function insert_order($data)
{
$this->db->insert('tbl_transaction', $data);
$id = $this->db->insert_id();
return (isset($id)) ? $id : FALSE;
}
public function insert_order_detail($data)
{
$this->db->insert('tbl_detailtransaction', $data);
$this->db->update('tbl_product', 'quantity', 'quantity' - $data->quantity, 'productId', $data->productId);
}
我要做的是,每次进行新购买时,产品的数量都会使用新值更新。我写的代码的问题是产品的数量更新为0零值。你们能帮我们一个人吗?谢谢。
答案 0 :(得分:0)
试试这个:
$this->db->set("quantity", "`quantity` - $data->quantity", FALSE);
$this->db->update("tbl_product");