public function findByOperator($id) { // requête préparée : $S_sql = 'SELECT t.id, t.staff_id, t.address, t.subgroup_id FROM user AS u LEFT JOIN operator AS o ON o.id = u.operator_id LEFT JOIN team AS t ON t.id = o.team_id WHERE u.operator_id = ?'; $A_params = array($id); $O_connection = new Connection(); if ($O_team = $O_connection->requestDb($S_sql, $A_params, self::CLASS_NAME, $onlyOneObject = true)) { //, $B_onlyOne = true) $O_staffMapper = new StaffMapper(); $O_staff = $O_staffMapper->findByOperator($id); $O_team->setStaff($O_staff); $O_subgroupMapper = new SubgroupMapper(); $O_subgroup = $O_subgroupMapper->findByOperator($id); $O_team->setSubgroup($O_subgroup); return $O_team; } else { throw new Exception("une erreur c'est produite lors de la requête"); } }