public function saveOrUpdatePrdprcCat($model, $extcatid = null, $newcatid) { $product_id = $model->product_id; $productprice_id = $model->id; $result = array(); if(!empty($extcatid)) { $condition = 'product_id=' . $product_id; $condition .= ' AND productprice_id = ' . $productprice_id; $condition .= ' AND category_id = ' . $extcatid; $criteria = new CDbCriteria; $criteria->select = array( 'id' ); $criteria->condition = $condition; $result = Productcategory::model()->findAll( $criteria ); } if(count($result) > 0) { $prdcat = Productcategory::model()->findByPk( $result[0]->id ); } else { $prdcat = new Productcategory; } $prdcat->product_id = $product_id; $prdcat->productprice_id = $productprice_id; $prdcat->category_id = $newcatid; $rtn = $prdcat->save(); if(!$rtn) { $this->msg = $prdcat->getErrors(); } return $rtn; }