Tengo que actualizar el stock de insumos al realizar una venta de cierto producto
INSUMO no es igual a PRODUCTO
Varios insumos forman un producto, y tengo que actualizar el stock de los insumos de los productos vendidos.
VENTAS <---------- PRODUCTO -------->RECETA <--------- INSUMO
Código PHP:
public function actualizar_stock_insumo_resta($idventa,$idproducto,$cantidad)
{
$this->db->select('insumo_idinsumo,stock,cantidad_det');
$this->db->from('receta');
$this->db->join('insumo', 'receta.insumo_idinsumo = insumo.idinsumo');
$this->db->where('producto_final_idproducto', $idproducto);
$query = $this->db->get();
$query->result_array();
$listarreceta = $query->result_array();
foreach ($listarreceta as $key)
{
$cantidadreal = $cantidad * $key['cantidad_det'];
$data[] = array(
'idinsumo' => $key['insumo_idinsumo'],
'stock' => $key['stock'] - $cantidadreal
);
}
return $this->db->update_batch('insumo', $data,'idinsumo');
}
facilmente podria enviar varios productos por POST en un array, pero no sabria como manejar ese array, por eso lo hago solo por un producto, seria genial que se pueda actualizar el stock de los insumos de cada producto enviado en el array
Suponiendo que
$idproducto sea un array que lo obtengo por POST:
Código PHP:
= $this->input->post('idproducto');
Espero haberme explicado bien. Gracias de antemano.