2016-12-28 1 views
0

在庫がmin_stockより大きい場合はいくつかの検証を行いたい、そうでなければ最大在庫が在庫よりも小さく、他のものがあればOKですが空ではない場合はmsgが正しく追加されます私はこれを持っている重複しますが、私は私のデータベースに追加しないで変更する場合は、必ず製品がすでに存在しており、理由を知らない...我々が必要とまず常に商品を返す自分のコードで何が起こっているのですか?

PHP

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 
    ); 

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

    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 ($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{ 
     /// add the product with the msgs ,but how can I paste this code below to work property 
    if (!empty($product)) { 
      $this->json(array('msg' => 'successfully added')); 
     }else{ 
      $this->json(array('duplicate' => 'product already exists')); 
     } 

    } 
+0

それを挿入します。あなたがするとき: '' '$ product = $ this-> products-> addProduct($ data);' '' '' addProduct'''の結果を '' $ product''変数に代入します。 '' '$ product''の値が' '' var_dump($ product); ''を使っているかどうかを調べます。 '' product'''が空ではないことが表示されます。 –

答えて

0

あなたの製品IDは何かを知るために。

次に、製品テーブルからすべての製品を取得し、現在の製品と比較して(製品IDを比較する)、必要な製品に現在の製品が存在する場合はif条件を実行する必要があります挿入してから挿入してください。

私はこのコードであなたを助けることができますが、あなたは彼にURコードを適応させる必要があります。

public function addProduct(){ 

作成した新しいはstdClassは、すべての製品は

$products = $this->products->getAllProducts(); 

すべてのprodutsを比較し得る

$product = new stdClass(); 
$product->descripcion = $this->input->post('description'); 
$product->cost_price = $this->input->post('cost_price'); 
$product->selling_price = $this->input->post('selling_price'); 
$product->wprice = $this->input->post('wprice'); 
$product->min_stock = $this->input->post('min_stock'); 
$product->stock = $this->input->post('stock'); 
$product->max_stock = $this->input->post('max_stock');` 

オブジェクト製品が存在しない場合は、ウル新製品

$test = false; 

foreach($produts as $p){ 

if($p->id == $product->id){ 
    $test = true; 
} } 

とウルデータベースに存在し、支援しようと

if($test){ 
    $rslt = $this->products->addProduct($product); 
    } 


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

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{ 

} 
関連する問題