为什么我的代码中会出现负片?

时间:2017-07-01 17:49:14

标签: php codeigniter-3

我希望有效一旦我的股票等于零然后显示我错误,但当我想卖出所有股票为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);
    }

error_min_stock table_products

0 个答案:

没有答案