예제 #1
0
 public function findPerPage($A_limit)
 {
     $I_firstOfPage = $A_limit['firstOfPage'];
     $I_perPage = $A_limit['perPage'];
     $S_sql = 'SELECT id, login, operator_id, inspector_id, profile_id FROM user LIMIT ' . $I_firstOfPage . ', ' . $I_perPage;
     $O_connection = new Connection();
     if ($A_data = $O_connection->requestDb($S_sql, $A_params = null, self::CLASS_NAME)) {
         $A_users = null;
         foreach ($A_data as $key => $value) {
             $O_user = $A_data[$key];
             if (!is_null($O_user->getOperatorId())) {
                 try {
                     $O_operatorMapper = new OperatorMapper();
                     $O_operator = $O_operatorMapper->findById($O_user->getOperatorId());
                     $O_user->setOperator($O_operator);
                     $O_teamMapper = new TeamMapper();
                     $O_team = $O_teamMapper->findByOperator($O_user->getOperatorId());
                     $O_operator->setTeam($O_team);
                 } catch (Exception $e) {
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             if (!is_null($O_user->getInspectorId())) {
                 try {
                     $O_inspectorMapper = new InspectorMapper();
                     $O_inspector = $O_inspectorMapper->findById($O_user->getInspectorId());
                     $O_user->setInspector($O_inspector);
                 } catch (Exception $e) {
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             if (!is_null($O_user->getProfileId())) {
                 try {
                     $O_profileMapper = new ProfileMapper();
                     $O_profile = $O_profileMapper->findById($O_user->getProfileId());
                     $O_user->setProfile($O_profile);
                 } catch (Exception $e) {
                     echo 'L\'erreur suivante s\'est produite : ' . $e->getMessage();
                 }
             }
             $A_users[] = $O_user;
         }
     } else {
         throw new Exception("Une erreur s'est produite");
     }
     return $A_users;
 }