public function starRating($id, $ratingAjax) { $id = (int)$id; $org = Orgs::model()->findByPk($id); if($org){ $rating = OrgsRating::model()->findByAttributes(array( 'org'=>$id )); // если не было категории - делаем if(!$rating) { $rating = new OrgsRating; $rating->org = $id; $rating->vote_count = 1; $rating->vote_sum = $ratingAjax; $rating->vote_average = round($rating->vote_sum / $rating->vote_count,2); $rating->save(false); $org->rating_id = $rating->id; $org->save(false,array('rating_id')); } else { $rating->vote_count = $rating->vote_count + 1; $rating->vote_sum = $rating->vote_sum + $ratingAjax; $rating->vote_average = round($rating->vote_sum / $rating->vote_count,2); if(!$rating->save()){ VarDumper::dump($rating->errors); die(); // Ctrl + X Delete line } } } return true; }
public function actionStarRating($id) { $ratingAjax=isset($_POST['rate']) ? $_POST['rate'] : 0; $id = (int)$id; $org = Orgs::model()->findByPk($id); if($org){ $rating = OrgsRating::model()->findByAttributes(array( 'org'=>$id )); // если не было категории - делаем if(!$rating) { $rating = new OrgsRating; $rating->org = $id; $rating->vote_count = 1; $rating->vote_sum = $ratingAjax; $rating->vote_average = round($rating->vote_sum / $rating->vote_count,2); $rating->save(false); $org->rating_id = $rating->id; $org->save(false,array('rating_id')); } else { $rating->vote_count = $rating->vote_count + 1; $rating->vote_sum = $rating->vote_sum + $ratingAjax; $rating->vote_average = round($rating->vote_sum / $rating->vote_count,2); if(!$rating->save()){ VarDumper::dump($rating->errors); die(); // Ctrl + X Delete line } } echo CJSON::encode(array('status'=>'OK')); Yii::app()->end(); } }