как проверить свойство перед отправкой данных в database im new на codeigniter

Я пытаюсь сделать это сделать проверку, когда не пустой мой массив, то он будет отображаться успешно добавлен, но перед этим я хочу реализовать, если запас больше, чем min_stock и если max_stock меньше, чем запас, то сделать некоторые msg. тогда если не дублировать …. чтобы проверить, если это дубликат он работает , но он не работает, когда я пытаюсь реализовать это

if ($stock > $min_stock) {
            $this->json(array('min_stock' => 'el stock no puede ser mayor al min'));
        }elseif ($max_stock < $stock) {
            $this->json(array('min_stock' => 'el stock no puede ser mayor al max'));
        }else{
        }

контроллер

public function addProduct(){
        $descripcion = $this->input->post('description');
        $cost_price =  $this->input->post('cost_price');
        $selling_price = $this->input->post('selling_price');
        $wprice = $this->input->post('wprice');
        $min_stock = $this->input->post('min_stock');
        $stock = $this->input->post('stock');
        $max_stock = $this->input->post('max_stock');
        $data = array(
            'descripcion' => $descripcion,
            'precio_compra' => $cost_price,
            'precio_venta' => $selling_price,
            'precio_mayoreo' => $wprice,
            'existencia_minima' => $min_stock,
            'existencia' => $stock,
            'existencia_maxima' => $max_stock
        );
        //$this->json(array('msg' => 'successfully added'));
        //$this->json(array('duplicate' => 'product already exists'));

        if (!empty($this->products->addProduct($data))) {
            -->> before this $this->json(array('msg' => 'successfully added'));
        }else{
            $this->json(array('duplicate' => 'product already exists'));
        }

        // the below code how can I implement into 
        if ($stock > $min_stock) {
            $this->json(array('min_stock' => 'el stock no puede ser mayor al min'));
        }elseif ($max_stock < $stock) {
            $this->json(array('min_stock' => 'el stock no puede ser mayor al max'));
        }else{
        }
    }

модель

 public function addProduct($data){
        $this->db->select('descripcion');
        $this->db->from('storelte_articulos');
        $this->db->where('descripcion',$data['descripcion']);
        $query = $this->db->get();
        return $query->num_rows() == 0 ? $this->db->insert('storelte_articulos',$data) : false;
    }

1 ответ

  1. Перепишите код после $Data array в контроллере следующим образом:

    if ($stock > $min_stock) { 
       $this->json(array('min_stock' => 'el stock no puede ser mayor al min'));
    }elseif ($max_stock < $stock) {
       $this->json(array('min_stock' => 'el stock no puede ser mayor al max'));
    } else {
        if (!$this->products->isExistsProduct($data)) {
          $this->products->addProduct($data)
          $this->json(array('msg' => 'successfully added'));
        }else{
            $this->json(array('duplicate' => 'product already exists'));
        }
    }

    Перепишите модель следующим образом:

    public function isExistsProduct($data){
            $this->db->select('descripcion');
            $this->db->from('storelte_articulos');
            $this->db->where('descripcion',$data['descripcion']);
            $query = $this->db->get();
            return $query->num_rows() == 0 ? false : true;
        }
    
    public function addProduct($data){
            $this->db->insert('storelte_articulos',$data)
        }