public static function saveTeam(Team $team) { //Aiguilleur Insert/Update $req = DataBase::getInstance()->prepare('SELECT COUNT(id) FROM team WHERE id = :id'); $req->bindvalue('id', $team->getId(), PDO::PARAM_INT); $req->execute(); $count = $req->fetchColumn(); $req->closeCursor(); if ($count == 0) { $req = DataBase::getInstance()->prepare('INSERT INTO team (name, description) VALUES (:name, :description)'); } else { $req = DataBase::getInstance()->prepare('UPDATE team SET (name = :name, description = :description) WHERE id = :id'); $req->bindvalue('id', $team->getId(), PDO::PARAM_INT); } $req->bindValue('name', $team->name, PDO::PARAM_STR); $req->bindValue('description', $team->description, PDO::PARAM_STR); $req->execute(); $req->closeCursor(); if ($count == 0) { $team->setId(DataBase::getInstance()->lastInsertId()); } //Liens utilisateurs $req = DataBase::getInstance()->prepare('DELETE FROM team_player WHERE team = :id'); $req->bindvalue('id', $team->getId(), PDO::PARAM_INT); $req->execute(); $req->closeCursor(); $req = DataBase::getInstance()->prepare('INSERT INTO team_player (player, team) VALUES (:player, :team)'); $req->bindvalue('team', $team->getId(), PDO::PARAM_INT); foreach ($team->getPlayers() as $player) { $req->bindvalue('player', $player->getId(), PDO::PARAM_INT); } $req->execute(); $req->closeCursor(); //Inscriptions $req = DataBase::getInstance()->prepare('DELETE FROM team_inscription WHERE team = :id'); $req->bindvalue('id', $team->getId(), PDO::PARAM_INT); $req->execute(); $req->closeCursor(); $req = DataBase::getInstance()->prepare('INSERT INTO team_inscription (tournament, team) VALUES (:tournament, :team)'); $req->bindvalue('team', $team->getId(), PDO::PARAM_INT); foreach ($team->getTournaments() as $tournament) { $req->bindvalue('tournament', $tournament->getId(), PDO::PARAM_INT); $req->execute(); } $req->closeCursor(); }