public function createOrUpdate($data) { $additionalFields = array(); foreach ($data as $field => $value) { if (!in_array($field, $this->filterThisFields)) { $additionalFields[$field] = $value; unset($data[$field]); } } $connection = Propel::getConnection(AbeResponsesPeer::DATABASE_NAME); try { if (!isset($data['ABE_RES_UID'])) { $data['ABE_RES_UID'] = ''; } if ($data['ABE_RES_UID'] == '') { $data['ABE_RES_UID'] = G::generateUniqueID(); $data['ABE_RES_DATE'] = date('Y-m-d H:i:s'); $AbeResponsesInstance = new AbeResponses(); } else { $AbeResponsesInstance = AbeResponsesPeer::retrieveByPK($data['ABE_RES_UID']); } //$data['ABE_RES_UPDATE'] = date('Y-m-d H:i:s'); $AbeResponsesInstance->fromArray($data, BasePeer::TYPE_FIELDNAME); if ($AbeResponsesInstance->validate()) { $connection->begin(); $result = $AbeResponsesInstance->save(); $connection->commit(); return $data['ABE_RES_UID']; } else { $message = ''; $validationFailures = $AbeResponsesInstance->getValidationFailures(); foreach ($validationFailures as $validationFailure) { $message .= $validationFailure->getMessage() . '. '; } throw new Exception('Error trying to update: ' . $message); } } catch (Exception $error) { $connection->rollback(); throw $error; } }
/** * Populates the object using an array. * * This is particularly useful when populating an object from one of the * request arrays (e.g. $_POST). This method goes through the column * names, checking to see whether a matching key exists in populated * array. If so the setByName() method is called for that column. * * You can specify the key type of the array by additionally passing one * of the class type constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, * TYPE_NUM. The default key type is the column's phpname (e.g. 'authorId') * * @param array $arr An array to populate the object from. * @param string $keyType The type of keys the array uses. * @return void */ public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = AbeResponsesPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setAbeResUid($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setAbeReqUid($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setAbeResClientIp($arr[$keys[2]]); } if (array_key_exists($keys[3], $arr)) { $this->setAbeResData($arr[$keys[3]]); } if (array_key_exists($keys[4], $arr)) { $this->setAbeResDate($arr[$keys[4]]); } if (array_key_exists($keys[5], $arr)) { $this->setAbeResStatus($arr[$keys[5]]); } if (array_key_exists($keys[6], $arr)) { $this->setAbeResMessage($arr[$keys[6]]); } }
/** * * @url GET /loadActionByEmail */ public function loadActionByEmail($params) { $criteria = new Criteria(); $criteria->addSelectColumn('COUNT(*)'); $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID); $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID); $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX); $result = AbeConfigurationPeer::doSelectRS($criteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $result->next(); $totalCount = $result->getRow(); $totalCount = $totalCount['COUNT(*)']; $criteria = new Criteria(); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UID); $criteria->addSelectColumn(AbeConfigurationPeer::PRO_UID); $criteria->addSelectColumn(AbeConfigurationPeer::TAS_UID); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_UPDATE_DATE); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_TEMPLATE); $criteria->addSelectColumn(AbeConfigurationPeer::ABE_ACTION_FIELD); $criteria->addSelectColumn(AbeConfigurationPeer::DYN_UID); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_UID); $criteria->addSelectColumn(AbeRequestsPeer::APP_UID); $criteria->addSelectColumn(AbeRequestsPeer::DEL_INDEX); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SENT_TO); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_STATUS); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_SUBJECT); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_ANSWERED); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_BODY); $criteria->addSelectColumn(AbeRequestsPeer::ABE_REQ_DATE); $criteria->addSelectColumn(ApplicationPeer::APP_NUMBER); $criteria->addSelectColumn(AppDelegationPeer::DEL_PREVIOUS); $criteria->addJoin(AbeConfigurationPeer::ABE_UID, AbeRequestsPeer::ABE_UID); $criteria->addJoin(ApplicationPeer::APP_UID, AbeRequestsPeer::APP_UID); $criteria->addJoin(AppDelegationPeer::APP_UID, AbeRequestsPeer::APP_UID); $criteria->addJoin(AppDelegationPeer::DEL_INDEX, AbeRequestsPeer::DEL_INDEX); $criteria->addDescendingOrderByColumn(AbeRequestsPeer::ABE_REQ_DATE); $criteria->setLimit($_REQUEST['limit']); $criteria->setOffset($_REQUEST['start']); $result = AbeConfigurationPeer::doSelectRS($criteria); $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); $data = Array(); $arrayPro = Array(); $arrayTAS = Array(); $index = 0; while ($result->next()) { $data[] = $result->getRow(); $criteriaRes = new Criteria(); $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_UID); $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_CLIENT_IP); $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_DATA); $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_STATUS); $criteriaRes->addSelectColumn(AbeResponsesPeer::ABE_RES_MESSAGE); $criteriaRes->add(AbeResponsesPeer::ABE_REQ_UID, $data[$index]['ABE_REQ_UID']); $resultRes = AbeResponsesPeer::doSelectRS($criteriaRes); $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC); $resultRes->next(); $dataRes = Array(); if ($dataRes = $resultRes->getRow()) { $data[$index]['ABE_RES_UID'] = $dataRes['ABE_RES_UID']; $data[$index]['ABE_RES_CLIENT_IP'] = $dataRes['ABE_RES_CLIENT_IP']; $data[$index]['ABE_RES_DATA'] = $dataRes['ABE_RES_DATA']; $data[$index]['ABE_RES_STATUS'] = $dataRes['ABE_RES_STATUS']; $data[$index]['ABE_RES_MESSAGE'] = $dataRes['ABE_RES_MESSAGE']; } else { $data[$index]['ABE_RES_UID'] = ''; $data[$index]['ABE_RES_CLIENT_IP'] = ''; $data[$index]['ABE_RES_DATA'] = ''; $data[$index]['ABE_RES_STATUS'] = ''; $data[$index]['ABE_RES_MESSAGE'] = ''; } $criteriaRes = new Criteria(); $criteriaRes->addSelectColumn(AppDelegationPeer::USR_UID); $criteriaRes->addSelectColumn(UsersPeer::USR_FIRSTNAME); $criteriaRes->addSelectColumn(UsersPeer::USR_LASTNAME); $criteria->addJoin(AppDelegationPeer::APP_UID, $data[$index]['APP_UID']); $criteria->addJoin(AppDelegationPeer::DEL_INDEX, $data[$index]['DEL_PREVIOUS']); $criteria->addJoin(AppDelegationPeer::USR_UID, UsersPeer::USR_UID); $resultRes = AppDelegationPeer::doSelectRS($criteriaRes); $resultRes->setFetchmode(ResultSet::FETCHMODE_ASSOC); $resultRes->next(); if ($dataRes = $resultRes->getRow()) { $data[$index]['USER'] = $dataRes['USR_FIRSTNAME'] . ' ' . $dataRes['USR_LASTNAME']; } else { $data[$index]['USER'] = ''; } $data[$index]['ABE_REQ_ANSWERED'] = ($data[$index]['ABE_REQ_ANSWERED'] == 1) ? 'YES' : 'NO'; $index++; } $response = array(); $response['totalCount'] = $totalCount; $response['data'] = $data; return $response; }
/** * Retrieve multiple objects by pkey. * * @param array $pks List of primary keys * @param Connection $con the connection to use * @throws PropelException Any exceptions caught during processing will be * rethrown wrapped into a PropelException. */ public static function retrieveByPKs($pks, $con = null) { if ($con === null) { $con = Propel::getConnection(self::DATABASE_NAME); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(); $criteria->add(AbeResponsesPeer::ABE_RES_UID, $pks, Criteria::IN); $objs = AbeResponsesPeer::doSelect($criteria, $con); } return $objs; }