Show player matches for single userId

This commit is contained in:
Torsten 2017-09-30 13:14:46 +02:00
parent 93d7670b48
commit 98ebdb6c93
7 changed files with 163 additions and 9 deletions

View file

@ -5,6 +5,7 @@ namespace App\Leagues;
use Illuminate\Database\Eloquent\Model;
use App\Season;
use App\Round;
use DB;
use Log;
@ -59,4 +60,48 @@ class League extends Model
return $league->start_round_id;
}
public static function cmpScore($score1, $score2) {
return ($score1[1] < $score2[1]);
}
public static function getRanking($rank) {
$season = Season::getCurrent();
$leagues = League::where('rank','=',$rank)->where('season_id','=', $season->id)->orderBy('id')->get();
error_log("LeagueCount:".sizeof($leagues));
$leagueScores=array();
foreach($leagues as $league) {
$memberIds = LeagueMember::getMembers($league->id);
$memberScores =array();
foreach($memberIds as $memberId) {
$tpl=array();
$tpl[0]=$memberId;
$tpl[1]=0;
$tpl[2]=0; // goals
$tpl[3]=0; // countergoals
$memberScores[$memberId] = $tpl;
}
$matches=Match::getMatchResults($league->id,-1);
foreach ($matches as $match) {
if (!Round::isCompleted($match->round_id)) { continue; }
$memberScores[$match->user1_id][1] += $match->user1_league_score;
$memberScores[$match->user1_id][2] += $match->user1_rankscore;
$memberScores[$match->user1_id][3] += $match->user2_rankscore;
$memberScores[$match->user2_id][1] += $match->user2_league_score;
$memberScores[$match->user2_id][2] += $match->user2_rankscore;
$memberScores[$match->user2_id][3] += $match->user1_rankscore;
}
usort($memberScores, array('App\Leagues\League','cmpScore'));
$leagueScores[$league->id]=$memberScores;
}
return $leagueScores;
}
}