/** * @param $game * @param $scoreHome * @param $scoreGuest * @var $forecasts Forecasts * @var $forecast Forecasts */ public static function setForecastPoints($game, $scoreHome, $scoreGuest, $tournament) { $forecasts = self::find()->where(['id_game' => $game])->all(); foreach ($forecasts as $forecast) { $oldPoints = $forecast->points; $forecast->forecastPoints($scoreHome, $scoreGuest); $forecast->save(false); $userTournament = UsersTournaments::findOne(['id_tournament' => $tournament, 'id_user' => $forecast->id_user]); $userTournament->points = $userTournament->points - $oldPoints + $forecast->points; $userTournament->save(false); } }
public function actionDelete($id) { $model = UsersTournaments::findOne(['id_tournament' => $id, 'id_user' => Yii::$app->user->id]); //deleting forecasts if ($model) { $model->deleteForecasts(); $model->delete(); Yii::$app->session->setFlash('success', 'Участие отменено, все прогнозы удалены'); } return $this->goBack(); }