Example #1
0
 /**
  * Saves league in database.
  *
  * @param Entity\LeagueImpl $league
  * @throws RDException
  */
 public function save($league)
 {
     if ($league->isPersistent()) {
         //update
         $q = "UPDATE league\n            set league.name = ?,\n            league_rules = ?,\n            match_rules = ?,\n            is_indoor = ?,\n            min_teams = ?,\n            max_teams = ?,\n            min_members = ?,\n            max_members = ?\n            WHERE league_id = ?;";
         //create prepared statement from query
         $stmt = $this->dbConnection->prepare($q);
         //bind parameters to prepared statement
         $name = $league->getName();
         $leagueRules = $league->getLeagueRules();
         $matchRules = $league->getMatchRules();
         $isIndoor = $league->getIsIndoor() ? 1 : 0;
         $minTeams = $league->getMinTeams();
         $maxTeams = $league->getMaxTeams();
         $minMembers = $league->getMinMembers();
         $maxMembers = $league->getMaxMembers();
         $leagueId = $league->getId();
         $stmt->bindParam(1, $name, \PDO::PARAM_STR);
         $stmt->bindParam(2, $leagueRules, \PDO::PARAM_STR);
         $stmt->bindParam(3, $matchRules, \PDO::PARAM_STR);
         $stmt->bindParam(4, $isIndoor, \PDO::PARAM_INT);
         $stmt->bindParam(5, $minTeams, \PDO::PARAM_INT);
         $stmt->bindParam(6, $maxTeams, \PDO::PARAM_INT);
         $stmt->bindParam(7, $minMembers, \PDO::PARAM_INT);
         $stmt->bindParam(8, $maxMembers, \PDO::PARAM_INT);
         $stmt->bindParam(9, $leagueId, \PDO::PARAM_INT);
         if ($stmt->execute()) {
             echo 'league created successfully';
         } else {
             throw new RDException('Error creating league');
         }
     } else {
         //insert
         //create Query
         $q = "INSERT INTO team10.league (league.name, league.league_rules, league.match_rules,\n                    is_indoor, min_teams, max_teams, min_members, max_members)\n                    VALUES(?, ?, ?, ?, ?, ?, ?, ?);";
         //create prepared statement from query
         $stmt = $this->dbConnection->prepare($q);
         //bind parameters to prepared statement
         $name = $league->getName();
         $leagueRules = $league->getLeagueRules();
         $matchRules = $league->getMatchRules();
         $isIndoor = $league->getIsIndoor() ? 1 : 0;
         $minTeams = $league->getMinTeams();
         $maxTeams = $league->getMaxTeams();
         $minMembers = $league->getMinMembers();
         $maxMembers = $league->getMaxMembers();
         $stmt->bindParam(1, $name, \PDO::PARAM_STR);
         $stmt->bindParam(2, $leagueRules, \PDO::PARAM_STR);
         $stmt->bindParam(3, $matchRules, \PDO::PARAM_STR);
         $stmt->bindParam(4, $isIndoor, \PDO::PARAM_INT);
         $stmt->bindParam(5, $minTeams, \PDO::PARAM_INT);
         $stmt->bindParam(6, $maxTeams, \PDO::PARAM_INT);
         $stmt->bindParam(7, $minMembers, \PDO::PARAM_INT);
         $stmt->bindParam(8, $maxTeams, \PDO::PARAM_INT);
         if ($stmt->execute()) {
             $league->setId($this->dbConnection->lastInsertId());
             echo 'league created successfully';
         } else {
             throw new RDException('error creating league, error info: ' . print_r($stmt->errorInfo()));
         }
     }
 }