public function saveGameStats(Game $game, array $stats) { $stats = $this->reformatStats($stats); foreach ($stats as $stat) { $stat['game_id'] = $game->id; $this->saveGameStat($stat); } $game->status = Game::getPlayedStatus(); $game->save(); }
public static function getByPlayerId($player_id) { $stats = DB::table('stats')->select(DB::raw('COALESCE(sum(stats.visit),0) as visits, COALESCE(sum(stats.goal),0) as goals, COALESCE(sum(stats.assist),0) as assists, COALESCE(sum(stats.yc),0) as ycs, COALESCE(sum(stats.rc),0) as rcs'))->where('stats.player_id', $player_id)->where(function ($query) { $query->whereNull('stats.visit')->orWhere('stats.visit', '=', Stat::GAME_VISITED); })->join('games', 'games.id', '=', 'stats.game_id')->where('games.status', Game::getPlayedStatus())->groupBy('stats.player_id')->first(); return $stats ? $stats : self::getEmptyStat(); }