/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Tournament::find();
     $tournamentTable = Tournament::tableName();
     $teamTable = Team::tableName();
     $leagueTable = League::tableName();
     $championshipTable = Championship::tableName();
     $seasonTable = Season::tableName();
     $query->joinWith(['team' => function ($query) use($teamTable) {
         $query->from(['team' => $teamTable]);
     }]);
     $query->joinWith(['league' => function ($query) use($leagueTable) {
         $query->from(['league' => $leagueTable]);
     }]);
     $query->joinWith(['championship' => function ($query) use($championshipTable) {
         $query->from(['championship' => $championshipTable]);
     }]);
     $query->joinWith(['season' => function ($query) use($seasonTable) {
         $query->from(['season' => $seasonTable]);
     }]);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 20], 'sort' => ['defaultOrder' => ['points' => SORT_DESC]]]);
     // enable sorting for the related columns
     $addSortAttributes = ["team.name", "league.name", "championship.name", "season.name"];
     foreach ($addSortAttributes as $addSortAttribute) {
         $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]];
     }
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(["{$tournamentTable}id" => $this->id, 'command_id' => $this->command_id, 'championship_id' => $this->championship_id, 'season_id' => $this->season_id, 'played' => $this->played, 'won' => $this->won, 'draw' => $this->draw, 'lost' => $this->lost, 'goals_for' => $this->goals_for, 'goals_against' => $this->goals_against, 'points' => $this->points, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at, 'fair_play' => $this->fair_play, 'league_id' => $this->league_id]);
     $query->andFilterWhere(['like', 'team.name', $this->getAttribute('team.name')]);
     return $dataProvider;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Championship::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     return $dataProvider;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = ChampionshipPart::find();
     $championship = new Championship();
     $championshipPartTable = ChampionshipPart::tableName();
     $championshipTable = Championship::tableName();
     $query->joinWith(['championship' => function ($query) use($championshipTable) {
         $query->from(['championship' => $championshipTable]);
     }]);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10]]);
     // enable sorting for the related columns
     $addSortAttributes = ["championship.name"];
     foreach ($addSortAttributes as $addSortAttribute) {
         $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]];
     }
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(["{$championshipPartTable}.id" => $this->id]);
     $query->andFilterWhere(['like', "{$championshipPartTable}.name", $this->name])->andFilterWhere(['like', 'championship.name', $this->getAttribute('championship.name')]);
     return $dataProvider;
 }
Exemplo n.º 4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getChampionship()
 {
     return $this->hasOne(Championship::className(), ['id' => 'championship_id']);
 }
Exemplo n.º 5
0
?>

<div class="championship-part-form">

    <?php 
$form = ActiveForm::begin();
?>

    <?php 
echo $form->field($model, 'name')->textInput(['maxlength' => 255]);
?>
    
    <?php 
$availableChampionships = [];
if (!$model->isNewRecord) {
    $championship = Championship::findOne($model->championship_id);
    if (isset($championship->id)) {
        $availableChampionships = [$championship->id => $championship->name];
    }
}
echo $form->field($model, 'championship_id')->widget(SelectizeDropDownList::classname(), ['loadUrl' => Url::to(['championship/championship-part-list']), 'items' => $availableChampionships, 'options' => ['multiple' => false], 'clientOptions' => ['valueField' => 'value', 'labelField' => 'text', 'persist' => false]]);
?>

    <div class="form-group">
        <?php 
echo Html::submitButton($model->isNewRecord ? 'Добавить' : 'Изменить', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']);
?>
    </div>

    <?php 
ActiveForm::end();
 /**
  * Display list of countries in json format
  *
  * @param string $q Query for search
  * @return mixed Json data
  */
 public function actionChampionshipPartList($query = null)
 {
     if ($query == null) {
         throw new NotFoundHttpException('The requested page does not exist.');
     }
     $search = urldecode($query);
     $query = new Query();
     $query->select('id as value, name as text')->from(Championship::tableName())->where(['like', 'name', $search])->orderBy('name')->limit(10);
     $command = $query->createCommand();
     $data = $command->queryAll();
     $out = array_values($data);
     header("Content-type: text/html; charset=utf-8");
     echo Json::encode($out);
 }
Exemplo n.º 7
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Match::find();
     $championship = new Championship();
     $teamHome = new Team();
     $stadium = new Stadium();
     $arbiter = new Arbiter();
     $championshipPart = new ChampionshipPart();
     $matchTable = Match::tableName();
     $championshipTable = Championship::tableName();
     $championshipPartTable = ChampionshipPart::tableName();
     $teamTable = Team::tableName();
     $stadiumTable = Stadium::tableName();
     $arbiterTable = Arbiter::tableName();
     $query->joinWith(['championship' => function ($query) use($championshipTable) {
         $query->from(['championship' => $championshipTable]);
     }]);
     $query->joinWith(['teamHome' => function ($query) use($teamTable) {
         $query->from(['teamHome' => $teamTable]);
     }]);
     $query->joinWith(['teamGuest' => function ($query) use($teamTable) {
         $query->from(['teamGuest' => $teamTable]);
     }]);
     $query->joinWith(['arbiterMain' => function ($query) use($arbiterTable) {
         $query->from(['arbiterMain' => $arbiterTable]);
     }]);
     $query->joinWith(['arbiterAssistant1' => function ($query) use($arbiterTable) {
         $query->from(['arbiterAssistant1' => $arbiterTable]);
     }]);
     $query->joinWith(['arbiterAssistant2' => function ($query) use($arbiterTable) {
         $query->from(['arbiterAssistant2' => $arbiterTable]);
     }]);
     $query->joinWith(['arbiterAssistant3' => function ($query) use($arbiterTable) {
         $query->from(['arbiterAssistant3' => $arbiterTable]);
     }]);
     $query->joinWith(['arbiterAssistant4' => function ($query) use($arbiterTable) {
         $query->from(['arbiterAssistant4' => $arbiterTable]);
     }]);
     $query->joinWith(['arbiterReserve' => function ($query) use($arbiterTable) {
         $query->from(['arbiterReserve' => $arbiterTable]);
     }]);
     $query->joinWith(['championshipPart' => function ($query) use($championshipPartTable) {
         $query->from(['championshipPart' => $championshipPartTable]);
     }]);
     $query->joinWith(['stadium' => function ($query) use($stadiumTable) {
         $query->from(['stadium' => $stadiumTable]);
     }]);
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 10], 'sort' => ['defaultOrder' => ['date' => SORT_DESC]]]);
     // enable sorting for the related columns
     $addSortAttributes = ["championship.name", "teamHome.name", "teamGuest.name", "arbiterMain.name", "arbiterAssistant1.name", "arbiterAssistant2.name", "arbiterAssistant3.name", "arbiterAssistant4.name", "arbiterReserve.name", "championshipPart.name", "stadium.name"];
     foreach ($addSortAttributes as $addSortAttribute) {
         $dataProvider->sort->attributes[$addSortAttribute] = ['asc' => [$addSortAttribute => SORT_ASC], 'desc' => [$addSortAttribute => SORT_DESC]];
     }
     if (!($this->load($params) && $this->validate())) {
         return $dataProvider;
     }
     $query->andFilterWhere(["{$matchTable}.id" => $this->id, 'is_visible' => $this->is_visible, 'home_shots' => $this->home_shots, 'guest_shots' => $this->guest_shots, 'home_shots_in' => $this->home_shots_in, 'guest_shots_in' => $this->guest_shots_in, 'home_offsides' => $this->home_offsides, 'guest_offsides' => $this->guest_offsides, 'home_corners' => $this->home_corners, 'guest_corners' => $this->guest_corners, 'home_fouls' => $this->home_fouls, 'guest_fouls' => $this->guest_fouls, 'home_yellow_cards' => $this->home_yellow_cards, 'guest_yellow_cards' => $this->guest_yellow_cards, 'home_red_cards' => $this->home_red_cards, 'guest_red_cards' => $this->guest_red_cards, 'home_goals' => $this->home_goals, 'guest_goals' => $this->guest_goals, 'is_finished' => $this->is_finished, "{$matchTable}.championship_id" => $this->championship_id, "{$matchTable}.season_id" => $this->season_id, "{$matchTable}.league_id" => $this->league_id, "{$matchTable}.command_home_id" => $this->command_home_id, "{$matchTable}.command_guest_id" => $this->command_guest_id]);
     $createdTime = strtotime($this->created_at);
     $startDay = date("Y-m-d 00:00:00", $createdTime);
     $endDay = date("Y-m-d 00:00:00", $createdTime + 60 * 60 * 24);
     if ($this->created_at) {
         $query->andFilterWhere(['between', 'created_at', $startDay, $endDay]);
     }
     $updatedTime = strtotime($this->updated_at);
     $startDay = date("Y-m-d 00:00:00", $updatedTime);
     $endDay = date("Y-m-d 00:00:00", $updatedTime + 60 * 60 * 24);
     if ($this->updated_at) {
         $query->andFilterWhere(['between', 'updated_at', $startDay, $endDay]);
     }
     $date = strtotime($this->date);
     $startDay = date("Y-m-d 00:00:00", $date);
     $endDay = date("Y-m-d 00:00:00", $date + 60 * 60 * 24);
     if ($this->date) {
         $query->andFilterWhere(['between', 'date', $startDay, $endDay]);
     }
     $query->andFilterWhere(['like', 'round', $this->round])->andFilterWhere(['like', 'announcement', $this->announcement])->andFilterWhere(['like', "teamHome.name", $this->getAttribute('teamHome.name')])->andFilterWhere(['like', "teamGuest.name", $this->getAttribute('teamGuest.name')])->andFilterWhere(['like', 'championship.name', $this->getAttribute('championship.name')])->andFilterWhere(['like', 'arbiterMain.name', $this->getAttribute('arbiterMain.name')])->andFilterWhere(['like', 'arbiterAssistant1.name', $this->getAttribute('arbiterAssistant1.name')])->andFilterWhere(['like', 'arbiterAssistant2.name', $this->getAttribute('arbiterAssistant2.name')])->andFilterWhere(['like', 'arbiterAssistant3.name', $this->getAttribute('arbiterAssistant3.name')])->andFilterWhere(['like', 'arbiterAssistant4.name', $this->getAttribute('arbiterAssistant4.name')])->andFilterWhere(['like', 'arbiterReserve.name', $this->getAttribute('arbiterReserve.name')])->andFilterWhere(['like', 'championshipPart.name', $this->getAttribute('championshipPart.name')])->andFilterWhere(['like', 'stadium.name', $this->getAttribute('stadium.name')]);
     return $dataProvider;
 }
Exemplo n.º 8
0
        <div class="col-sm-6">
        <?php 
$availableTeams = [];
if (!$model->isNewRecord) {
    $team = $model->team;
    if (isset($team->id)) {
        $availableTeams = [$team->id => $team->name];
    }
}
echo $form->field($model, 'command_id')->widget(SelectizeDropDownList::classname(), ['loadUrl' => Url::to(['team/team-list']), 'items' => $availableTeams, 'options' => ['multiple' => false, 'placeholder' => 'Выберите команду...'], 'clientOptions' => ['valueField' => 'value', 'labelField' => 'text', 'persist' => false]]);
?>
        </div>
        
        <div class="col-sm-6">
        <?php 
echo $form->field($model, 'championship_id')->widget(Select2::classname(), ['data' => ArrayHelper::map(Championship::find()->all(), 'id', 'name'), 'language' => 'ru', 'options' => ['placeholder' => 'Выберите чемпионат...'], 'pluginOptions' => ['allowClear' => true]]);
?>
        </div>
    </div>
    
    <div class="row">
        <div class="col-sm-6">
        <?php 
echo $form->field($model, 'league_id')->widget(Select2::classname(), ['data' => ArrayHelper::map(League::find()->all(), 'id', 'name'), 'language' => 'ru', 'options' => ['placeholder' => 'Выберите лигу...'], 'pluginOptions' => ['allowClear' => true]]);
?>
        </div>
        
        <div class="col-sm-6">
        <?php 
$seasons = ArrayHelper::map(Season::find()->where(['>', 'id', 42])->all(), 'id', 'name');
foreach ($seasons as $key => $season) {
Exemplo n.º 9
0
 /**
  * Url: /tournament
  * @return mixed
  */
 public function actionTournament()
 {
     $tournamentTable = Tournament::tableName();
     $championshipTable = Championship::tableName();
     // championship type select
     $championships = Championship::find()->innerJoin($tournamentTable, "{$tournamentTable}.championship_id = {$championshipTable}.id")->orderBy(['id' => SORT_DESC])->all();
     $firstChampionshipObj = array_values($championships)[0];
     $firstChampionshipId = $firstChampionshipObj->id;
     $activeChampionship = $firstChampionshipId;
     if (isset($_GET['championship'])) {
         foreach ($championships as $championship) {
             if ($_GET['championship'] == $championship->id) {
                 $activeChampionship = $_GET['championship'];
             }
         }
     }
     $championshipsData = [];
     foreach ($championships as $championship) {
         $championshipsData[$championship->id] = ['value' => $championship->id, 'text' => $championship->name, 'active' => false];
     }
     $championshipsData[$activeChampionship]['active'] = true;
     foreach ($championshipsData as $key => $championship) {
         $championshipsData[$key] = (object) $championship;
     }
     // season select
     $seasons = Season::find()->innerJoinWith('tournaments')->orderBy(['id' => SORT_DESC])->all();
     $firstSeasonObj = array_values($seasons)[0];
     $firstSeasonId = $firstSeasonObj->id;
     $activeSeason = $firstSeasonId;
     if (isset($_GET['season'])) {
         foreach ($seasons as $season) {
             if ($_GET['season'] == $season->id) {
                 $activeSeason = $_GET['season'];
             }
         }
     }
     $seasonsData = [];
     foreach ($seasons as $season) {
         $seasonName = $season->name;
         $seasonsData[$season->id] = ['value' => $season->id, 'text' => $seasonName, 'active' => false];
     }
     $seasonsData[$activeSeason]['active'] = true;
     foreach ($seasonsData as $key => $season) {
         $seasonsData[$key] = (object) $season;
     }
     $tournamentData = Tournament::find()->where(['season_id' => $activeSeason, 'championship_id' => $activeChampionship])->orderBy(['points' => SORT_DESC])->all();
     $tournamentData = Tournament::sort($tournamentData);
     $forwards = Forward::find()->where(['season_id' => $activeSeason])->orderBy(['goals' => SORT_DESC, 'penalty' => SORT_DESC])->all();
     $options = ['templateType' => 'col2', 'title' => 'Dynamomania.com | Турнирная таблица', 'columnFirst' => ['tournament' => ['view' => '@frontend/views/tournament/tournament_full', 'data' => compact('tournamentData', 'championshipsData', 'seasonsData')]], 'columnSecond' => ['short_news' => SiteBlock::getshortNews(50)]];
     if (count($forwards) > 0) {
         $options['columnFirst']['forwards'] = ['view' => '@frontend/views/tournament/forwards', 'data' => compact('forwards')];
     }
     return $this->render('@frontend/views/site/index', $options);
 }