/** * 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>"); } }
public static function getInscriptionByIdEnseignantNonJoin(Enseignant $enseignant) { $conn = Main::bdd(); try { $reqPrepare = $conn->prepare("SELECT * FROM inscription WHERE idEns = ?"); $reqPrepare->execute(array($enseignant->getId())); $tab = $reqPrepare->fetchall(); return $tab; } catch (\PDOException $e) { throw new \Exception("L'enseignant " . $enseignant->getId() . " n'a aucune inscription."); } }