%PDF- %PDF-
Direktori : /www/loslex/test/app/Workers/Cup/ |
Current File : /www/loslex/test/app/Workers/Cup/LosCupShooterWinHelper.php |
<?php namespace App\Workers\Cup; use Illuminate\Support\Facades\DB; class LosCupShooterWinHelper { public static function compareShooters(array $contest_ids, string $division, int $shooter_a_id, int $shooter_b_id) { $strContestIds = implode(",", $contest_ids); $abWins = self::getCupWins($strContestIds, $division, $shooter_a_id, $shooter_b_id); $baWins = self::getCupWins($strContestIds, $division, $shooter_b_id, $shooter_a_id); return $baWins <=> $abWins; // BA to AB protože potřebujeme sestupné řazení (víckrát vyhrál => je na lepší (nižší) pozici) } private static function getCupWins(string $contest_ids, string $division, int $shooter_a_id, int $shooter_b_id) : int { return DB::scalar( "SELECT COUNT(A.contest_id) FROM `cup_contest_results` AS A, `cup_contest_results` AS B WHERE A.contest_id = B.contest_id AND A.bgdivision = '$division' AND B.bgdivision = '$division' AND A.user_id = $shooter_a_id AND B.user_id = $shooter_b_id AND A.contest_id IN ($contest_ids) AND A.percent > B.percent;", ); } }