我希望有效一旦我的股票等于零然后显示我错误,但当我想卖出所有股票为0然后给我看-8。我认为这是因为最小库存,但我不确切地知道负面来自哪里,但我该如何解决?
控制器
OutOfMemoryError
模型
public function add_cart(){
$this->session->set_userdata("carrito", $this->sale->checar_existe_carrito());
$response = array(
"status" => 0
);
$producto_actual = array(
'id' => $this->input->post("id"),
'name' => $this->input->post("name"),
'qty' => $this->input->post("qty"),
'price' => $this->input->post("price"),
);
$tipo_operacion = $this->input->post("tipo_operacion");
$producto = $this->products->get_product(md5($producto_actual['id']));
$valor_compara = $tipo_operacion == 1 ? $producto->stock - $producto_actual['qty'] : $producto->stock - ($producto_actual['qty'] - $this->sale->get_current_cart_qty($this->session->carrito, $producto_actual['id']));
if($valor_compara){
if($this->sale->checa_carrito_vacio($this->session->carrito) == 0){
$data_producto = array(
'order_id' => $this->session->carrito,
'product_id' => $producto_actual['id'],
'quantity' => $producto_actual['qty'],
'price' => $producto_actual['price'],
'total' => $producto_actual['qty'] * $producto_actual['price'],
'subtotal' => $producto_actual['qty'] * $producto_actual['price']
);
if($this->sale->agregar_objeto_carrito($data_producto)){
$response['status'] = 1;
}
else{
$response['error'] = "Error al agregar el objeto al carrito, por favor intente de nuevo";
}
}
else{
if($this->sale->checa_existe_producto_carrito($this->session->carrito, $producto_actual['id'])){
if($tipo_operacion == 0 && $producto_actual['qty'] == 0){
if($this->sale->eliminar_producto_carrito($this->session->carrito, $producto_actual['id'])){
$response['status'] = 1;
}
else{
$response['error'] = "Ha Ocurrido un error al actualizar el carrito, por favor intentalo de nuevo";
$response['status'] = 0;
}
}
else{
if($this->sale->agregar_setear_productos_carrito($this->session->carrito, $producto_actual['id'], $producto_actual['qty'], $tipo_operacion)){
$response['status'] = 1;
}
else{
$response['error'] = "Ha Ocurrido un error al actualizar el carrito, por favor intentalo de nuevo";
$response['status'] = 0;
}
}
}
else{
$data_producto = array(
'order_id' => $this->session->carrito,
'product_id' => $producto_actual['id'],
'quantity' => $producto_actual['qty'],
'price' => $producto_actual['price'],
'total' => $producto_actual['qty'] * $producto_actual['price'],
'subtotal' => $producto_actual['qty'] * $producto_actual['price']
);
if($this->sale->agregar_objeto_carrito($data_producto)){
$response['status'] = 1;
}
else{
$response['error'] = "Ha Ocurrido un error al actualizar el carrito, por favor intentalo de nuevo";
$response['status'] = 0;
}
}
}
}
else{
$response['error'] = "There are not enough stocks of this product to add to the cart, there are currently only: " . ($producto->stock - $producto->min_stock);
}
$response['product_data'] = $this->sale->get_all_cart($this->session->carrito);
echo json_encode($response);
}