public function searchFrontend($params) { $model = Teams::find()->where(['name' => Yii::$app->params['main-team']])->with('seasonDetails')->one(); $season_id = $model->lastSeasonDetails->season_id; $query = SeasonDetails::find()->select('*, `goals_scored`-`goals_against` as `rm`')->where(['season_id' => $season_id])->orderBy('spectacles DESC, wins DESC, draws DESC, lesions, rm DESC, goals_scored DESC, goals_against'); // add conditions that should always apply here $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => false, 'sort' => false]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'season_id' => $this->season_id, 'team_id' => $this->team_id, 'games' => $this->games, 'wins' => $this->wins, 'draws' => $this->draws, 'lesions' => $this->lesions, 'spectacles' => $this->spectacles, 'goals_against' => $this->goals_against, 'goals_scored' => $this->goals_scored]); return $dataProvider; }
/** * Displays homepage. * * @return mixed */ public function actionIndex() { $data['questions'] = Questions::find()->where(['status' => 'on'])->orderBy('id DESC')->one(); $data['answerPoll'] = AnswersPoll::find()->where(['quest_id' => $data['questions']->id, 'ip' => $_SERVER['REMOTE_ADDR']])->one(); if (!empty($_POST)) { $model = new AnswersPoll(); $dataPost = Yii::$app->request->post(); $model->quest_id = $dataPost['question_id']; $model->answer_id = $dataPost['answer_id']; $model->ip = $_SERVER['REMOTE_ADDR']; $check = AnswersPoll::find()->where(['quest_id' => $model->quest_id, 'ip' => $model->ip])->one(); $model->date = time(); $alertMessage = ''; if ($model->save() && is_null($check)) { $modelAnswer = Answers::findOne($dataPost['answer_id']); $modelAnswer->how_many = $modelAnswer->how_many + 1; $modelAnswer->save(); $data['answerPoll'] = AnswersPoll::find()->where(['quest_id' => $data['questions']->id, 'ip' => $_SERVER['REMOTE_ADDR']])->one(); } else { $alertMessage = Alert::widget(['options' => ['class' => 'alert-danger'], 'body' => '<b>Ошибка!</b> Ответ не был записан.']); } return $this->render('_poll', ['answersData' => $data['questions']->answers, 'questions' => $data['questions'], 'answerPoll' => $data['answerPoll'], 'alertMessage' => $alertMessage]); } $dataProvider['news'] = new ActiveDataProvider(['query' => News::find()->where(['status_id' => 'on'])->orderBy('date_create DESC, id DESC')->limit(10), 'pagination' => ['pageSize' => 11]]); $data['mainTeam'] = Teams::find()->where(['name' => Yii::$app->params['main-team']])->one(); // $CId = [2]; $CId = [3]; $allCoaches = CoachingStaff::find()->where(['teams_id' => $data['mainTeam']->id])->andWhere(['in', 'id', $CId])->all(); $PlId = [28, 4, 20, 17]; $allPlayers = Players::find()->where(['teams_id' => $data['mainTeam']->id])->andWhere(['in', 'id', $PlId])->all(); $data['allPlayers'] = []; foreach ($allPlayers as $item) { // $allPlayers[$item->id] = $item; if ($item->id == 28) { $data['allPlayers'][1] = $item; } if ($item->id == 4) { $data['allPlayers'][2] = $item; } if ($item->id == 20) { $data['allPlayers'][3] = $item; } if ($item->id == 17) { $data['allPlayers'][4] = $item; } } foreach ($allCoaches as $item) { $data['allCoaches'][0] = $item; } ksort($data['allPlayers']); // ksort($data['allCoaches']); // $data['allPlayers'] = ksort($data['allPlayers']); // var_dump($data['allPlayers']); // var_dump(krsort($data['allPlayers'])); // $data['allPlayers'][0] = $allPlayers[2]; // var_dump($allPlayers); // die; // $data['allPlayers'][1] = $allPlayers[28]; // $data['allPlayers'][2] = $allPlayers[4]; // $data['allPlayers'][3] = $allPlayers[20]; // $data['allPlayers'][4] = $allPlayers[17]; // CaseMaster::find()->where(["DATE_FORMAT( FROM_UNIXTIME( i_date ),'%d-%m-%Y' )"=>date('d-m-Y')])->all(); // DATE_FORMAT("2008-11-19",'%d.%m.%Y'); // $sorted_articles=[]; // foreach($articles as $article){ // $dt=date('d.m.Y',$article->sort_date); // $sorted_articles[$dt][]=$article; // } // $data['allPlayers'] = []; // foreach($data['allPlayers'] as $item) { // var_dump(date('d.m.Y', $item->date)); //// var_dump($item['date_new']); //// $item['new_date'] = $item->date; //// $item->date = date('d.m', $item->date); //// $dt = date('d.m', $item->date); // $data['allPlayers'][] = $item; // } // var_dump($data['allPlayers']); $data['seasonDetails'] = $data['mainTeam']->lastSeasonDetails; $data['season'] = $data['seasonDetails']->season; $dataProvider['standings'] = new ActiveDataProvider(['query' => SeasonDetails::find()->where(['season_id' => $data['season']->id])->orderBy('spectacles DESC')->limit(20), 'pagination' => false]); $data['gameLast'] = Games::find()->where(['home_id' => $data['mainTeam']->id])->orWhere(['guest_id' => $data['mainTeam']->id])->orderBy('date')->one(); $data['gameFirst'] = Games::find()->where(['home_id' => $data['mainTeam']->id])->orWhere(['guest_id' => $data['mainTeam']->id])->orderBy('date DESC')->one(); $data['gamesLast'] = Games::find()->where(['home_id' => $data['mainTeam']->id])->orWhere(['guest_id' => $data['mainTeam']->id])->andWhere(['<', 'date', time()])->orderBy('date DESC')->limit(3)->all(); $data['gamesFirst'] = Games::find()->where(['home_id' => $data['mainTeam']->id])->orWhere(['guest_id' => $data['mainTeam']->id])->andWhere(['>', 'date', time()])->orderBy('date')->limit(3)->all(); $model = new AnswersPoll(); return $this->render('index', ['dataProvider' => $dataProvider, 'data' => $data, 'model' => $model]); }
public function actionAdd() { $data = Yii::$app->request->post('data'); $teams = ArrayHelper::getColumn(SeasonDetails::find()->select('team_id')->where(['season_id' => $data['season']])->asArray()->all(), 'team_id'); foreach ($data['array'] as $team) { if (!in_array($team, $teams)) { $model = new SeasonDetails(); $model->season_id = $data['season']; $model->team_id = $team; $model->games = 0; $model->wins = 0; $model->draws = 0; $model->lesions = 0; $model->spectacles = 0; $model->goals_against = 0; $model->goals_scored = 0; $model->save(); } } }