/** * executa automáticamente o fetchXPTO conforme typeOfReturn. transforma o ReturnDataVO enviado * @param string $typeOfReturn * @param ReturnDataVO $ReturnDataVO * @return void */ protected function transformReturnDataByTypeReturn($typeOfReturn, ReturnDataVO &$ReturnDataVO) { switch ($typeOfReturn) { case DbInterface::RETURN_ARRAY: $ReturnDataVO->fetchAll(ReturnDataVO::TYPE_FETCH_ARRAY); break; case DbInterface::RETURN_VO: $ReturnDataVO->fetchAllVO($this); break; case DbInterface::RETURN_STD_OBJECT: default: //retornar tudo em objeto $ReturnDataVO->fetchAll(ReturnDataVO::TYPE_FETCH_OBJECT); break; } }
/** * @param $typeOfReturn * @param $id * @param $active * @param $user_type_id * @param $login * @param $password * @param $email_type * @param $quant_limit * @param $quant_started * @return ReturnDataVO (ReturnDataVO) */ public function select($typeOfReturn = NULL, $id = NULL, $active = NULL, $user_type_id = NULL, $login = NULL, $password = NULL, $email = NULL, $quant_limit = NULL, $quant_started = NULL) { $arrayFilter = array(); $query = "SELECT \r\n\t\t\t\t\t\t*\r\n\t\t\t\t\t\tFROM \r\n\t\t\t\t\t \tuser \r\n\t\t\t\t\t WHERE 1 "; $this->addFilter($query, $id, $active, $user_type_id, $login, $password, $email); $queryCount = "SELECT \r\n\t\t\t\t\t\t\t\tCOUNT(*) AS count\r\n\t\t\t\t\t\t\tFROM \r\n\t\t\t\t\t\t\t\tuser\r\n\t\t\t\t\t\t\tWHERE 1\r\n \t \t\t\t\t\t"; $this->addFilter($queryCount, $id, $active, $user_type_id, $login, $password, $email); //limite $query .= parent::limit($quant_limit, $quant_started); //executa a query $ReturnDataVO = parent::query($query); //executa a query para gerar count total $ReturnTotalDataVO = parent::query($queryCount); if (FALSE) { $ReturnDataVO = new ReturnDataVO(); } if ($ReturnDataVO->success) { switch ($typeOfReturn) { case DbInterface::RETURN_ARRAY: $ReturnDataVO->fetchAll(ReturnDataVO::TYPE_FETCH_ARRAY); break; case DbInterface::RETURN_VO: $ReturnDataVO->fetchAllVO($this); break; case DbInterface::RETURN_STD_OBJECT: default: //retornar tudo em objeto $ReturnDataVO->fetchAll(); break; } $ReturnTotalDataVO->fetchAll(); $tempTotal = $ReturnTotalDataVO->result[0]->count; $ReturnDataVO->count_total = $tempTotal; return $ReturnDataVO; } else { return $ReturnDataVO; } }