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();
 }