Spaces:
Sleeping
Sleeping
| require_once 'propel/util/BasePeer.php'; | |
| /** | |
| * Base static class for performing query and update operations on the 'APPLICATION' table. | |
| * | |
| * @package workflow.engine.classes | |
| */ | |
| abstract class ArrayBasePeer | |
| { | |
| /** | |
| * The default database name for this class | |
| */ | |
| const DATABASE_NAME = 'dbarray'; | |
| /** | |
| * A class that can be returned by this peer. | |
| */ | |
| const CLASS_DEFAULT = 'classes.model.Application'; | |
| /** | |
| * The total number of columns. | |
| */ | |
| const NUM_COLUMNS = 15; | |
| /** | |
| * The number of lazy-loaded columns. | |
| */ | |
| const NUM_LAZY_LOAD_COLUMNS = 0; | |
| /** | |
| * The column name for the APP_UID field | |
| */ | |
| const APP_UID = 'APPLICATION.APP_UID'; | |
| /** | |
| * The column name for the APP_NUMBER field | |
| */ | |
| const APP_NUMBER = 'APPLICATION.APP_NUMBER'; | |
| /** | |
| * The column name for the APP_PARENT field | |
| */ | |
| const APP_PARENT = 'APPLICATION.APP_PARENT'; | |
| /** | |
| * The column name for the APP_STATUS field | |
| */ | |
| const APP_STATUS = 'APPLICATION.APP_STATUS'; | |
| /** | |
| * The column name for the PRO_UID field | |
| */ | |
| const PRO_UID = 'APPLICATION.PRO_UID'; | |
| /** | |
| * The column name for the APP_PROC_STATUS field | |
| */ | |
| const APP_PROC_STATUS = 'APPLICATION.APP_PROC_STATUS'; | |
| /** | |
| * The column name for the APP_PROC_CODE field | |
| */ | |
| const APP_PROC_CODE = 'APPLICATION.APP_PROC_CODE'; | |
| /** | |
| * The column name for the APP_PARALLEL field | |
| */ | |
| const APP_PARALLEL = 'APPLICATION.APP_PARALLEL'; | |
| /** | |
| * The column name for the APP_INIT_USER field | |
| */ | |
| const APP_INIT_USER = 'APPLICATION.APP_INIT_USER'; | |
| /** | |
| * The column name for the APP_CUR_USER field | |
| */ | |
| const APP_CUR_USER = 'APPLICATION.APP_CUR_USER'; | |
| /** | |
| * The column name for the APP_CREATE_DATE field | |
| */ | |
| const APP_CREATE_DATE = 'APPLICATION.APP_CREATE_DATE'; | |
| /** | |
| * The column name for the APP_INIT_DATE field | |
| */ | |
| const APP_INIT_DATE = 'APPLICATION.APP_INIT_DATE'; | |
| /** | |
| * The column name for the APP_FINISH_DATE field | |
| */ | |
| const APP_FINISH_DATE = 'APPLICATION.APP_FINISH_DATE'; | |
| /** | |
| * The column name for the APP_UPDATE_DATE field | |
| */ | |
| const APP_UPDATE_DATE = 'APPLICATION.APP_UPDATE_DATE'; | |
| /** | |
| * The column name for the APP_DATA field | |
| */ | |
| const APP_DATA = 'APPLICATION.APP_DATA'; | |
| /** | |
| * The PHP to DB Name Mapping | |
| */ | |
| private static $phpNameMap = null; | |
| /** | |
| * Holds an array of fieldnames | |
| * | |
| * First dimension keys are the type constants | |
| * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] = 'Id' | |
| */ | |
| private static $fieldNames = array(BasePeer::TYPE_PHPNAME => array('AppUid', 'AppNumber', 'AppParent', 'AppStatus', 'ProUid', 'AppProcStatus', 'AppProcCode', 'AppParallel', 'AppInitUser', 'AppCurUser', 'AppCreateDate', 'AppInitDate', 'AppFinishDate', 'AppUpdateDate', 'AppData' | |
| ), BasePeer::TYPE_COLNAME => array(ApplicationPeer::APP_UID, ApplicationPeer::APP_NUMBER, ApplicationPeer::APP_PARENT, ApplicationPeer::APP_STATUS, ApplicationPeer::PRO_UID, ApplicationPeer::APP_PROC_STATUS, ApplicationPeer::APP_PROC_CODE, ApplicationPeer::APP_PARALLEL, ApplicationPeer::APP_INIT_USER, ApplicationPeer::APP_CUR_USER, ApplicationPeer::APP_CREATE_DATE, ApplicationPeer::APP_INIT_DATE, ApplicationPeer::APP_FINISH_DATE, ApplicationPeer::APP_UPDATE_DATE, ApplicationPeer::APP_DATA | |
| ), BasePeer::TYPE_FIELDNAME => array('APP_UID', 'APP_NUMBER', 'APP_PARENT', 'APP_STATUS', 'PRO_UID', 'APP_PROC_STATUS', 'APP_PROC_CODE', 'APP_PARALLEL', 'APP_INIT_USER', 'APP_CUR_USER', 'APP_CREATE_DATE', 'APP_INIT_DATE', 'APP_FINISH_DATE', 'APP_UPDATE_DATE', 'APP_DATA' | |
| ), BasePeer::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 | |
| ) | |
| ); | |
| /** | |
| * Holds an array of keys for quick access to the fieldnames array | |
| * | |
| * First dimension keys are the type constants | |
| * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0 | |
| */ | |
| private static $fieldKeys = array(BasePeer::TYPE_PHPNAME => array('AppUid' => 0, 'AppNumber' => 1, 'AppParent' => 2, 'AppStatus' => 3, 'ProUid' => 4, 'AppProcStatus' => 5, 'AppProcCode' => 6, 'AppParallel' => 7, 'AppInitUser' => 8, 'AppCurUser' => 9, 'AppCreateDate' => 10, 'AppInitDate' => 11, 'AppFinishDate' => 12, 'AppUpdateDate' => 13, 'AppData' => 14 | |
| ), BasePeer::TYPE_COLNAME => array(ApplicationPeer::APP_UID => 0, ApplicationPeer::APP_NUMBER => 1, ApplicationPeer::APP_PARENT => 2, ApplicationPeer::APP_STATUS => 3, ApplicationPeer::PRO_UID => 4, ApplicationPeer::APP_PROC_STATUS => 5, ApplicationPeer::APP_PROC_CODE => 6, ApplicationPeer::APP_PARALLEL => 7, ApplicationPeer::APP_INIT_USER => 8, ApplicationPeer::APP_CUR_USER => 9, ApplicationPeer::APP_CREATE_DATE => 10, ApplicationPeer::APP_INIT_DATE => 11, ApplicationPeer::APP_FINISH_DATE => 12, ApplicationPeer::APP_UPDATE_DATE => 13, ApplicationPeer::APP_DATA => 14 | |
| ), BasePeer::TYPE_FIELDNAME => array('APP_UID' => 0, 'APP_NUMBER' => 1, 'APP_PARENT' => 2, 'APP_STATUS' => 3, 'PRO_UID' => 4, 'APP_PROC_STATUS' => 5, 'APP_PROC_CODE' => 6, 'APP_PARALLEL' => 7, 'APP_INIT_USER' => 8, 'APP_CUR_USER' => 9, 'APP_CREATE_DATE' => 10, 'APP_INIT_DATE' => 11, 'APP_FINISH_DATE' => 12, 'APP_UPDATE_DATE' => 13, 'APP_DATA' => 14 | |
| ), BasePeer::TYPE_NUM => array(0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 | |
| ) | |
| ); | |
| /** | |
| * | |
| * @return MapBuilder the map builder for this peer | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function getMapBuilder() | |
| { | |
| include_once 'classes/model/map/ApplicationMapBuilder.php'; | |
| return BasePeer::getMapBuilder('classes.model.map.ApplicationMapBuilder'); | |
| } | |
| /** | |
| * Gets a map (hash) of PHP names to DB column names. | |
| * | |
| * @return array The PHP to DB name map for this peer | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| * @deprecated Use the getFieldNames() and translateFieldName() methods instead of this. | |
| */ | |
| public static function getPhpNameMap() | |
| { | |
| if (self::$phpNameMap === null) { | |
| $map = ApplicationPeer::getTableMap(); | |
| $columns = $map->getColumns(); | |
| $nameMap = array(); | |
| foreach ($columns as $column) { | |
| $nameMap[$column->getPhpName()] = $column->getColumnName(); | |
| } | |
| self::$phpNameMap = $nameMap; | |
| } | |
| return self::$phpNameMap; | |
| } | |
| /** | |
| * Translates a fieldname to another type | |
| * | |
| * @param string $name field name | |
| * @param string $fromType One of the class type constants TYPE_PHPNAME, | |
| * TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM | |
| * @param string $toType One of the class type constants | |
| * @return string translated name of the field. | |
| */ | |
| static public function translateFieldName($name, $fromType, $toType) | |
| { | |
| $toNames = self::getFieldNames($toType); | |
| $key = isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[$fromType][$name] : null; | |
| if ($key === null) { | |
| throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromType], true)); | |
| } | |
| return $toNames[$key]; | |
| } | |
| /** | |
| * Returns an array of of field names. | |
| * | |
| * @param string $type The type of fieldnames to return: | |
| * One of the class type constants TYPE_PHPNAME, | |
| * TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM | |
| * @return array A list of field names | |
| */ | |
| static public function getFieldNames($type = BasePeer::TYPE_PHPNAME) | |
| { | |
| if (!array_key_exists($type, self::$fieldNames)) { | |
| throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); | |
| } | |
| return self::$fieldNames[$type]; | |
| } | |
| /** | |
| * Convenience method which changes table.column to alias.column. | |
| * | |
| * Using this method you can maintain SQL abstraction while using column aliases. | |
| * <code> | |
| * $c->addAlias("alias1", TablePeer::TABLE_NAME); | |
| * $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN); | |
| * </code> | |
| * | |
| * @param string $alias The alias for the current table. | |
| * @param string $column The column name for current table. (i.e. ApplicationPeer::COLUMN_NAME). | |
| * @return string | |
| */ | |
| public static function alias($alias, $column) | |
| { | |
| return str_replace(ApplicationPeer::TABLE_NAME . '.', $alias . '.', $column); | |
| } | |
| /** | |
| * Add all the columns needed to create a new object. | |
| * | |
| * Note: any columns that were marked with lazyLoad="true" in the | |
| * XML schema will not be added to the select list and only loaded | |
| * on demand. | |
| * | |
| * @param Criteria $criteria object containing the columns to add. | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function addSelectColumns(Criteria $criteria) | |
| { | |
| } | |
| const COUNT = 'COUNT(APPLICATION.APP_UID)'; | |
| const COUNT_DISTINCT = 'COUNT(DISTINCT APPLICATION.APP_UID)'; | |
| /** | |
| * Returns the number of rows matching criteria. | |
| * | |
| * @param Criteria $criteria | |
| * @param boolean $distinct Whether to select only distinct columns (You can also set DISTINCT modifier in Criteria). | |
| * @param Connection $con | |
| * @return int Number of matching rows. | |
| * @todo Review declarated constant d'not used COUNT, COUNT_DISTINCT | |
| */ | |
| public static function doCount(Criteria $criteria, $distinct = false, $con = null) | |
| { | |
| // we're going to modify criteria, so copy it first | |
| $criteria = clone $criteria; | |
| // clear out anything that might confuse the ORDER BY clause | |
| $criteria->clearSelectColumns()->clearOrderByColumns(); | |
| /* | |
| krumo ( ApplicationPeer::COUNT_DISTINCT ); | |
| if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) { | |
| $criteria->addSelectColumn(ApplicationPeer::COUNT_DISTINCT); | |
| } else { | |
| $criteria->addSelectColumn(ApplicationPeer::COUNT); | |
| } | |
| */ | |
| $criteria->addSelectColumn('COUNT(*)'); | |
| // just in case we're grouping: add those columns to the select statement | |
| foreach ($criteria->getGroupByColumns() as $column) { | |
| $criteria->addSelectColumn($column); | |
| } | |
| $rs = ArrayBasePeer::doSelectRS($criteria, $con); | |
| if ($rs->next()) { | |
| $row = $rs->getRow(); | |
| return $row[1]; | |
| } else { | |
| // no rows returned; we infer that means 0 matches. | |
| return 0; | |
| } | |
| } | |
| /** | |
| * Method to select one object from the DB. | |
| * | |
| * @param Criteria $criteria object used to create the SELECT statement. | |
| * @param Connection $con | |
| * @return Application | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function doSelectOne(Criteria $criteria, $con = null) | |
| { | |
| $critcopy = clone $criteria; | |
| $critcopy->setLimit(1); | |
| $objects = ApplicationPeer::doSelect($critcopy, $con); | |
| if ($objects) { | |
| return $objects[0]; | |
| } | |
| return null; | |
| } | |
| /** | |
| * Method to create select SQL. | |
| * | |
| * @param Criteria $criteria object used to create the SELECT statement. | |
| * @param String $tableName | |
| * @param Array &$params | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| private function createSelectSql($criteria, $tableName, &$params) | |
| { | |
| $db = Propel::getDB($criteria->getDbName()); | |
| // redundant definition $selectModifiers = array(); | |
| $selectClause = array(); | |
| $fromClause = array(); | |
| $joinClause = array(); | |
| $joinTables = array(); | |
| $whereClause = array(); | |
| $orderByClause = array(); | |
| $groupByClause = array(); | |
| $orderBy = $criteria->getOrderByColumns(); | |
| $groupBy = $criteria->getGroupByColumns(); | |
| $ignoreCase = $criteria->isIgnoreCase(); | |
| $select = $criteria->getSelectColumns(); | |
| $aliases = $criteria->getAsColumns(); | |
| $fromClause[] = $criteria->getDBArrayTable(); | |
| // simple copy | |
| $selectModifiers = $criteria->getSelectModifiers(); | |
| // get selected columns | |
| foreach ($select as $columnName) { | |
| $tableName = null; | |
| $selectClause[] = $columnName; // the full column name: e.g. MAX(books.price) | |
| $parenPos = strpos($columnName, '('); | |
| $dotPos = strpos($columnName, '.'); | |
| // [HL] I think we really only want to worry about adding stuff to | |
| // the fromClause if this function has a TABLE.COLUMN in it at all. | |
| // e.g. COUNT(*) should not need this treatment -- or there needs to | |
| // be special treatment for '*' | |
| if ($dotPos !== false) { | |
| if ($parenPos === false) { // table.column | |
| $tableName = substr($columnName, 0, $dotPos); | |
| } else { // FUNC(table.column) | |
| $tableName = substr($columnName, $parenPos + 1, $dotPos - ($parenPos + 1)); | |
| // functions may contain qualifiers so only take the last | |
| // word as the table name. | |
| // COUNT(DISTINCT books.price) | |
| $lastSpace = strpos($tableName, ' '); | |
| if ($lastSpace !== false) { // COUNT(DISTINCT books.price) | |
| $tableName = substr($tableName, $lastSpace + 1); | |
| } | |
| } | |
| $tableName2 = $criteria->getTableForAlias($tableName); | |
| if ($tableName2 !== null) { | |
| $fromClause[] = $tableName2 . ' ' . $tableName; | |
| } else { | |
| $fromClause[] = $tableName; | |
| } | |
| } // if $dotPost !== null | |
| } | |
| // set the aliases | |
| foreach ($aliases as $alias => $col) { | |
| $selectClause[] = $col . " AS " . $alias; | |
| } | |
| // add the criteria to WHERE clause | |
| foreach ($criteria->keys() as $key) { | |
| $criterion = $criteria->getCriterion($key); | |
| $someCriteria = $criterion->getAttachedCriterion(); | |
| $someCriteriaLength = count($someCriteria); | |
| $table = null; | |
| for ($i = 0; $i < $someCriteriaLength; $i++) { | |
| $tableName = $someCriteria[$i]->getTable(); | |
| $table = $criteria->getTableForAlias($tableName); | |
| if ($table !== null) { | |
| $fromClause[] = $table . ' ' . $tableName; | |
| } else { | |
| $fromClause[] = $tableName; | |
| $table = $tableName; | |
| } | |
| $ignoreCase = (($criteria->isIgnoreCase() || $someCriteria[$i]->isIgnoreCase()) && ($dbMap->getTable($table)->getColumn($someCriteria[$i]->getColumn())->getType() == "string")); | |
| $someCriteria[$i]->setIgnoreCase($ignoreCase); | |
| } | |
| $criterion->setDB($db); | |
| $cri['table'] = $criterion->table; | |
| $cri['field'] = $criterion->column; | |
| $cri['comparison'] = $criterion->comparison == '=' ? '==' : $criterion->comparison; | |
| $cri['value'] = $criterion->getValue(); | |
| $sb = ""; | |
| $sb .= "\$row['" . $cri['field'] . "'] " . $cri['comparison'] . "'" . $cri['value'] . "'"; | |
| $params[] = $cri; | |
| //$criterion->appendPsTo($sb, $params); | |
| $whereClause[] = $sb; | |
| } | |
| // Unique from clause elements | |
| $fromClause = array_unique($fromClause); | |
| if (!empty($orderBy)) { | |
| foreach ($orderBy as $orderByColumn) { | |
| // Add function expression as-is. | |
| if (strpos($orderByColumn, '(') !== false) { | |
| $orderByClause[] = $orderByColumn; | |
| continue; | |
| } | |
| // Split orderByColumn (i.e. "table.column DESC") | |
| $dotPos = strpos($orderByColumn, '.'); | |
| if ($dotPos !== false) { | |
| $tableName = substr($orderByColumn, 0, $dotPos); | |
| $columnName = substr($orderByColumn, $dotPos + 1); | |
| } else { | |
| $tableName = ''; | |
| $columnName = $orderByColumn; | |
| } | |
| $spacePos = strpos($columnName, ' '); | |
| if ($spacePos !== false) { | |
| $direction = substr($columnName, $spacePos); | |
| $columnName = substr($columnName, 0, $spacePos); | |
| } else { | |
| $direction = ''; | |
| } | |
| $orderByClause[] = array('columnName' => $columnName, 'direction' => $direction | |
| ); | |
| } | |
| } | |
| // Build the SQL from the arrays we compiled | |
| $sql = "SELECT " . ($selectModifiers ? implode(" ", $selectModifiers) . " " : "") . implode(", ", $selectClause) . " FROM " . $fromClause[0] . ($whereClause ? " WHERE " . implode(" AND ", $whereClause) : "") . ($groupByClause ? " GROUP BY " . implode(",", $groupByClause) : ""); | |
| $dataSql['selectClause'] = $selectClause; | |
| $dataSql['fromClause'] = $fromClause; | |
| $dataSql['whereClause'] = $whereClause; | |
| $dataSql['orderByClause'] = $orderByClause; | |
| $dataSql['sql'] = $sql; | |
| return $dataSql; | |
| } | |
| /** | |
| * Method to do selects. | |
| * | |
| * @param Criteria $criteria The Criteria object used to build the SELECT statement. | |
| * @param Connection $con | |
| * @return array Array of selected Objects | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function doSelect(Criteria $criteria, $tableName, $con = null) | |
| { | |
| $dbMap = Propel::getDatabaseMap($criteria->getDbName()); | |
| $stmt = null; | |
| try { | |
| $params = array(); | |
| $sql = self::createSelectSql($criteria, $tableName, $params); | |
| $sql['params'] = $params; | |
| $stmt = $con->prepareStatement($sql); | |
| //$stmt->setLimit($criteria->getLimit()); | |
| $sql['limit'] = $criteria->getLimit(); | |
| //$stmt->setOffset($criteria->getOffset()); | |
| $sql['offset'] = $criteria->getOffset(); | |
| //$rs = $stmt->executeQuery(ResultSet::FETCHMODE_NUM); | |
| $rs = $con->executeQuery($sql, ResultSet::FETCHMODE_NUM); | |
| } catch (Exception $e) { | |
| if ($stmt) | |
| $stmt->close(); | |
| throw new PropelException($e); | |
| } | |
| return $rs; | |
| } | |
| /** | |
| * Prepares the Criteria object and uses the parent doSelect() | |
| * method to get a ResultSet. | |
| * | |
| * Use this method directly if you want to just get the resultset | |
| * (instead of an array of objects). | |
| * | |
| * @param Criteria $criteria The Criteria object used to build the SELECT statement. | |
| * @param Connection $con the connection to use | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| * @return ResultSet The resultset object with numerically-indexed fields. | |
| * @see BasePeer::doSelect() | |
| */ | |
| public static function doSelectRS(Criteria $criteria, $con = null) | |
| { | |
| global $_DBArray; | |
| if (!isset($_DBArray)) { | |
| $_DBArray = $_SESSION['_DBArray']; | |
| } | |
| $tableName = $criteria->getDBArrayTable(); | |
| if (!isset($_DBArray[$tableName])) { | |
| throw new Exception("Error: the table '$tableName' doesn't exist in DBArray "); | |
| } | |
| $arrayTable = $_DBArray[$tableName]; | |
| if ($con === null) { | |
| $con = Propel::getConnection(self::DATABASE_NAME); | |
| } | |
| if (!$criteria->getSelectColumns()) { | |
| foreach (array_keys($_DBArray[$tableName][0]) as $key => $val) | |
| $criteria->addSelectColumn($tableName . '.' . $val); | |
| } | |
| // Set the correct dbName | |
| $criteria->setDbName(self::DATABASE_NAME); | |
| // BasePeer returns a Creole ResultSet, set to return | |
| // rows indexed numerically. | |
| return ArrayBasePeer::doSelect($criteria, $tableName, $con); | |
| } | |
| /** | |
| * The returned array will contain objects of the default type or | |
| * objects that inherit from the default. | |
| * | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function populateObjects(ResultSet $rs) | |
| { | |
| $results = array(); | |
| // set the class once to avoid overhead in the loop | |
| $cls = ApplicationPeer::getOMClass(); | |
| $cls = Propel::import($cls); | |
| // populate the object(s) | |
| while ($rs->next()) { | |
| $obj = new $cls(); | |
| $obj->hydrate($rs); | |
| $results[] = $obj; | |
| } | |
| return $results; | |
| } | |
| /** | |
| * Returns the TableMap related to this peer. | |
| * This method is not needed for general use but a specific application could have a need. | |
| * | |
| * @return TableMap | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function getTableMap() | |
| { | |
| return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TABLE_NAME); | |
| } | |
| /** | |
| * The class that the Peer will make instances of. | |
| * | |
| * This uses a dot-path notation which is tranalted into a path | |
| * relative to a location on the PHP include_path. | |
| * (e.g. path.to.MyClass -> 'path/to/MyClass.php') | |
| * | |
| * @return string path.to.ClassName | |
| */ | |
| public static function getOMClass() | |
| { | |
| return ApplicationPeer::CLASS_DEFAULT; | |
| } | |
| /** | |
| * Method perform an INSERT on the database, given a Application or Criteria object. | |
| * | |
| * @param mixed $values Criteria or Application object containing data that is used to create the INSERT statement. | |
| * @param Connection $con the connection to use | |
| * @return mixed The new primary key. | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function doInsert($values, $con = null) | |
| { | |
| if ($con === null) { | |
| $con = Propel::getConnection(self::DATABASE_NAME); | |
| } | |
| if ($values instanceof Criteria) { | |
| $criteria = clone $values; // rename for clarity | |
| } else { | |
| $criteria = $values->buildCriteria(); // build Criteria from Application object | |
| } | |
| // Set the correct dbName | |
| $criteria->setDbName(self::DATABASE_NAME); | |
| try { | |
| // use transaction because $criteria could contain info | |
| // for more than one table (I guess, conceivably) | |
| $con->begin(); | |
| $pk = BasePeer::doInsert($criteria, $con); | |
| $con->commit(); | |
| } catch (PropelException $e) { | |
| $con->rollback(); | |
| throw $e; | |
| } | |
| return $pk; | |
| } | |
| /** | |
| * Method perform an UPDATE on the database, given a Application or Criteria object. | |
| * | |
| * @param mixed $values Criteria or Application object containing data that is used to create the UPDATE statement. | |
| * @param Connection $con The connection to use (specify Connection object to exert more control over transactions). | |
| * @return int The number of affected rows (if supported by underlying database driver). | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function doUpdate($values, $con = null) | |
| { | |
| if ($con === null) { | |
| $con = Propel::getConnection(self::DATABASE_NAME); | |
| } | |
| $selectCriteria = new Criteria(self::DATABASE_NAME); | |
| if ($values instanceof Criteria) { | |
| $criteria = clone $values; // rename for clarity | |
| $comparison = $criteria->getComparison(ApplicationPeer::APP_UID); | |
| $selectCriteria->add(ApplicationPeer::APP_UID, $criteria->remove(ApplicationPeer::APP_UID), $comparison); | |
| } else { // $values is Application object | |
| $criteria = $values->buildCriteria(); // gets full criteria | |
| $selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s) | |
| } | |
| // set the correct dbName | |
| $criteria->setDbName(self::DATABASE_NAME); | |
| return BasePeer::doUpdate($selectCriteria, $criteria, $con); | |
| } | |
| /** | |
| * Method to DELETE all rows from the APPLICATION table. | |
| * | |
| * @param Connection $con The connection to use | |
| * @return int The number of affected rows (if supported by underlying database driver). | |
| */ | |
| public static function doDeleteAll($con = null) | |
| { | |
| if ($con === null) { | |
| $con = Propel::getConnection(self::DATABASE_NAME); | |
| } | |
| $affectedRows = 0; // initialize var to track total num of affected rows | |
| try { | |
| // use transaction because $criteria could contain info | |
| // for more than one table or we could emulating ON DELETE CASCADE, etc. | |
| $con->begin(); | |
| $affectedRows += BasePeer::doDeleteAll(ApplicationPeer::TABLE_NAME, $con); | |
| $con->commit(); | |
| return $affectedRows; | |
| } catch (PropelException $e) { | |
| $con->rollback(); | |
| throw $e; | |
| } | |
| } | |
| /** | |
| * Method perform a DELETE on the database, given a Application or Criteria object OR a primary key value. | |
| * | |
| * @param mixed $values Criteria or Application object or primary key or array of primary keys | |
| * which is used to create the DELETE statement | |
| * @param Connection $con the connection to use | |
| * @return int The number of affected rows (if supported by underlying database driver). This includes CASCADE-related rows | |
| * if supported by native driver or if emulated using Propel. | |
| * @throws PropelException Any exceptions caught during processing will be | |
| * rethrown wrapped into a PropelException. | |
| */ | |
| public static function doDelete($values, $con = null) | |
| { | |
| if ($con === null) { | |
| $con = Propel::getConnection(ApplicationPeer::DATABASE_NAME); | |
| } | |
| if ($values instanceof Criteria) { | |
| $criteria = clone $values; // rename for clarity | |
| } else { | |
| if ($values instanceof Application) { | |
| $criteria = $values->buildPkeyCriteria(); | |
| } else { | |
| // it must be the primary key | |
| $criteria = new Criteria(self::DATABASE_NAME); | |
| $criteria->add(ApplicationPeer::APP_UID, (array)$values, Criteria::IN); | |
| } | |
| } | |
| // Set the correct dbName | |
| $criteria->setDbName(self::DATABASE_NAME); | |
| $affectedRows = 0; // initialize var to track total num of affected rows | |
| try { | |
| // use transaction because $criteria could contain info | |
| // for more than one table or we could emulating ON DELETE CASCADE, etc. | |
| $con->begin(); | |
| $affectedRows += BasePeer::doDelete($criteria, $con); | |
| $con->commit(); | |
| return $affectedRows; | |
| } catch (PropelException $e) { | |
| $con->rollback(); | |
| throw $e; | |
| } | |
| } | |
| /** | |
| * Validates all modified columns of given Application object. | |
| * If parameter $columns is either a single column name or an array of column names | |
| * than only those columns are validated. | |
| * | |
| * NOTICE: This does not apply to primary or foreign keys for now. | |
| * | |
| * @param Application $obj The object to validate. | |
| * @param mixed $cols Column name or array of column names. | |
| * | |
| * @return mixed TRUE if all columns are valid or the error message of the first invalid column. | |
| */ | |
| public static function doValidate(Application $obj, $cols = null) | |
| { | |
| $columns = array(); | |
| if ($cols) { | |
| $dbMap = Propel::getDatabaseMap(ApplicationPeer::DATABASE_NAME); | |
| $tableMap = $dbMap->getTable(ApplicationPeer::TABLE_NAME); | |
| if (!is_array($cols)) { | |
| $cols = array($cols | |
| ); | |
| } | |
| foreach ($cols as $colName) { | |
| if ($tableMap->containsColumn($colName)) { | |
| $get = 'get' . $tableMap->getColumn($colName)->getPhpName(); | |
| $columns[$colName] = $obj->$get(); | |
| } | |
| } | |
| } else { | |
| if ($obj->isNew() || $obj->isColumnModified(ApplicationPeer::APP_STATUS)) | |
| $columns[ApplicationPeer::APP_STATUS] = $obj->getAppStatus(); | |
| } | |
| return BasePeer::doValidate(ApplicationPeer::DATABASE_NAME, ApplicationPeer::TABLE_NAME, $columns); | |
| } | |
| /** | |
| * Retrieve a single object by pkey. | |
| * | |
| * @param mixed $pk the primary key. | |
| * @param Connection $con the connection to use | |
| * @return Application | |
| */ | |
| public static function retrieveByPK($pk, $con = null) | |
| { | |
| if ($con === null) { | |
| $con = Propel::getConnection(self::DATABASE_NAME); | |
| } | |
| $criteria = new Criteria(ApplicationPeer::DATABASE_NAME); | |
| $criteria->add(ApplicationPeer::APP_UID, $pk); | |
| $v = ApplicationPeer::doSelect($criteria, $con); | |
| return !empty($v) > 0 ? $v[0] : null; | |
| } | |
| /** | |
| * 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(ApplicationPeer::APP_UID, $pks, Criteria::IN); | |
| $objs = ApplicationPeer::doSelect($criteria, $con); | |
| } | |
| return $objs; | |
| } | |
| } // BaseApplicationPeer | |