private function update(Player $player)
 {
     $db = Db::obtain();
     $data = array('account_id' => Player::convertId($player->get('steamid')));
     $data = array_merge($data, $player->getDataArray());
     $db->updatePDO(Db::realTablename('users'), $data, array('steamid' => $player->get('steamid')));
 }
 public function load()
 {
     $db = Db::obtain();
     $players = array();
     $ids = $this->getIdsString();
     if (count($this->_ids) === 0) {
         return array();
     }
     $result = $db->fetchArrayPDO('SELECT * FROM ' . Db::realTablename('users') . ' WHERE steamid IN (' . $ids . ')', array());
     foreach ($result as $r) {
         $player = new Player();
         $player->setArray((array) $r);
         $players[$player->get('steamid')] = $player;
     }
     return $players;
 }
 public function testLoad()
 {
     $players = $this->mapper->load();
     $this->assertEquals(array(), $players);
     $this->mapper->addId(Player::convertId(36547811))->addId(Player::convertId(89137399));
     $players = $this->mapper->load();
     $this->assertTrue($players[Player::convertId(36547811)] instanceof Player);
     $this->assertTrue($players[Player::convertId(89137399)] instanceof Player);
 }
 /**
  * @param Match $match
  * @param bool $lazy if false - update all data, if true - only possible updated data
  */
 public function update(Match $match, $lazy = true)
 {
     $db = Db::obtain();
     $slots = $match->getAllSlots();
     // update common match info
     $db->updatePDO(Db::realTablename('matches'), $match->getDataArray(), array('match_id' => $match->get('match_id')));
     foreach ($slots as $slot) {
         // update accounts
         $db->updatePDO(Db::realTablename('users'), array('account_id' => $slot->get('account_id'), 'steamid' => Player::convertId($slot->get('account_id'))), array('account_id' => $slot->get('account_id')));
         // update slots
         if (!$lazy) {
             $db->updatePDO(Db::realTablename('slots'), $slot->getDataArray(), array('match_id' => $slot->get('match_id'), 'player_slot' => $slot->get('player_slot')));
         }
     }
 }
 /**
  * @return Player[]
  */
 public function load()
 {
     $request = new Request(self::PLAYER_STEAM_URL, array('steamids' => $this->getIdsString()));
     $playersInfo = $request->send();
     if (null === $playersInfo) {
         return null;
     }
     $players = array();
     foreach ($playersInfo->players[0] as $playerInfo) {
         $player = new Player();
         $player->setArray((array) $playerInfo);
         $players[$player->get('steamid')] = $player;
     }
     return $players;
 }
 public function testLoad()
 {
     $mapperDb = new PlayerMapperDb();
     $player = $mapperDb->load(Player::convertId((string) $this->playerId));
     $this->assertEquals('test', $player->get('personaname'));
 }