public function findById($id) { $S_sql = 'SELECT id, control_date, conform, comment, epi_id, inspector_id FROM check_epi WHERE id = ?'; $A_params = array($id); $O_connection = new Connection(); if ($O_check = $O_connection->requestDb($S_sql, $A_params, self::CLASS_NAME, $onlyOneObject = true)) { if (!is_null($O_check->getEpiId())) { try { $O_epiMapper = new EpiMapper(); $O_epi = $O_epiMapper->findById($O_check->getEpiId()); $O_check->setEpi($O_epi); } catch (Exception $e) { // On récupère le message de l'exception echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } if (condition) { try { $O_inspectorMapper = new Inspector(); $O_inspector = $O_inspectorMapper->findById($O_check->getInspectorId()); $O_check->setInspector($O_inspector); } catch (Exception $e) { // On récupère le message de l'exception echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage(); } } return $O_check; } else { throw new Exception("une erreur c'est produite lors de la requête"); } }