在交易完成时减少股票代码

时间:2016-08-31 08:55:47

标签: php codeigniter codeigniter-3

我希望在交易完成后减少库存产品,我尝试使用foreach数据,但库存没有正确减少

CONTROLLER:

for ($i=0; $i < $count ; $i++) { 

//SAVE DETAIL PENJUALAN
$data[] = array(
    'nonota'     => $this->input->post('nonota',TRUE),
    'id_brg'     => $this->input->post('kd_brg',TRUE)[$i],
    'nama_brg'   => $this->input->post('nama',TRUE)[$i],
    'jml_brg'    => $this->input->post('jml',TRUE)[$i],
    'harga_brg'  => $this->input->post('harga',TRUE)[$i], 
);

//DELETE CART
$cart[] = array(
    'rowid' => $this->input->post('rowid',TRUE)[$i],
    'qty'   => 0 
);

$update[] = array(
'id'    => $this->input->post('kd_brg',TRUE)[$i],
'stok'  => 'stok' -  $this->input->post('jml',TRUE)[$i]
);


$this->M_penjualan->updatestock($update,'tbl_barang');

}

模型

function updatestock($update) {
        $this->db->update_batch('tbl_barang',$update,'id');
    }

1 个答案:

答案 0 :(得分:0)

1.Maybe产品ID与您从迭代中获得的产品ID不同。

2.看看这一行:

'stok'  => 'stok' -  $this->input->post('jml',TRUE)[$i]

您更改了字符串的值,因为&#39; stok&#39;是一个字符串。如果您要$stok - $this->input...,那将是另一回事。当然,如果股票代表某个数字。

3.我也会首先尝试使用简单更新进行更新。 $this->db->set('stok', 'stok-'.$stok, false); - 模型函数中的某个位置。