2017-01-09 69 views
0

我想從我的手中保存我的數據。當我嘗試保存我的數據時沒有錯誤。但我從handontable的數據不能插入我的數據庫。 這裏是我的代碼yii handontable不能保存

public function actionSavePricelist($id) 
{ 
    header("Content-Type: application/json"); 

    if(!Yii::app()->request->isPostRequest) 
     throw new CHttpException(400,'Invalid request. Please do not repeat this request again.'); 

    $user = Yii::app()->session['loginSession']['userId']; 

    $model=$this->loadModel($id); 

     $vendor_price= json_decode($_POST['price_list']); 
     $flagError=0; 
     for($i=0;$i<count($vendor_price->data);$i++) { 
      $row = $vendor_price->data[$i]; 
      if($row[0] == null && $row[1] == null) continue; 
      else { 
       if(!isset($row[3])){ 
        $mVenPri = new MstVendorPricelist; 
        $idcity = MstCity::model()->findByAttributes(array(
          'city_name' => $row[1] 
         ) 
        ); 
        $idc = $idcity->city_id; 

        $mVenPri->item_id=$row[3]; 
        $mVenPri->vendor_id=$model->vendor_id; 
        $mVenPri->city_id=$idc; 
        $mVenPri->price=$row[2]; 
        $mVenPri->created_date=date('Y-m-d H:i:s'); 
        $mVenPri->created_by=$user; 
        $mVenPri->modified_date=date('Y-m-d H:i:s'); 
        $mVenPri->modified_by=$user; 

        if(!$mVenPri->save()) 
         $flagError++; 

       } else { 
        $modelprice=MstVendorPriceList::model()->findByPk($id); 
        $idcity = MstCity::model()->findByAttributes(array(
         'city_name' => $row[1]) 
         ); 
        $idc = $idcity->city_id; 

        $modelprice->item_id=$row[3]; 
        $modelprice->vendor_id=$model->vendor_id; 
        $modelprice->city_id=$idc; 
        $modelprice->price=$row[2]; 
        $modelprice->created_date=date('Y-m-d H:i:s'); 
        $modelprice->created_by=$user; 
        $modelprice->modified_date=date('Y-m-d H:i:s'); 
        $modelprice->modified_by=$user; 

        if(!$modelprice->save()) 
         $flagError++; 
       }        
      }    
     } 
     if($flagError == 0) 
      echo CJSON::encode(array('success'=>true,'msg'=>'You have successfully added data.')); 
     else 
      echo CJSON::encode(array('msg'=>'Error occurred during inserting details.')); 
     // var_dump($vendor_price); 
} 

其實這個功能更新,但是,類似像保存數據。更新我的供應商並從可保存的數據中保存新數據。 請幫助我。有沒有我的代碼有任何問題

回答

0

看起來,在MstVendorPricelist模型中保存驗證之前,返回false。你應該在模型代碼中找出它。確保所有字段在控制器中填入正確的數據。

也可以嘗試在插入數據時禁用驗證。 read this

if(!$mVenPri->save(false)) 
     $flagError++; 

你找到活動記錄在這個guide

快樂編碼的詳細信息!