如何在新购买时更新库存? MySQL,PHP,Codeigniter

时间:2017-07-05 11:45:29

标签: php mysql codeigniter inventory

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零值。你们能帮我们一个人吗?谢谢。

1 个答案:

答案 0 :(得分:0)

试试这个:

$this->db->set("quantity", "`quantity` - $data->quantity", FALSE); 
$this->db->update("tbl_product");