Exemple #1
0
 /**
  * Supprime un enseignant et ses inscriptions en cascade
  * @param Enseignant $enseignant
  * @throws \Exception
  */
 public static function rmEnseignant(Enseignant $enseignant)
 {
     $conn = Main::bdd();
     try {
         $conn->beginTransaction();
         foreach ($enseignant->getLesInscriptions()->getCollection() as $inscription) {
             $reqPrepare = $conn->prepare("DELETE FROM choix WHERE idInscription = ?");
             $reqPrepare->execute(array($inscription->getId()));
         }
         $reqPrepare = $conn->prepare("DELETE FROM inscription WHERE idEns = ?");
         $reqPrepare->execute(array($enseignant->getId()));
         $reqPrepare = $conn->prepare("DELETE FROM enseignant WHERE idEns = ?");
         $reqPrepare->execute(array($enseignant->getId()));
         $conn->commit();
     } catch (\PDOException $e) {
         $conn->rollBack();
         throw new \Exception("L'enseignant " . $enseignant->getId() . " n'a pas pu être supprimé. Détails : <p>" . $e->getMessage() . "</p>");
     }
 }