propel/generated-classes/Map/ProfileTableMap.php
/**
     * Performs an INSERT on the database, given a Profile or Criteria object.
     *
     * @param mixed               $criteria Criteria or Profile object containing data that is used to create the INSERT statement.
     * @param ConnectionInterface $con the ConnectionInterface connection to use
     * @return mixed           The new primary key.
     * @throws PropelException Any exceptions caught during processing will be
     *         rethrown wrapped into a PropelException.
     */
Performs an INSERT on the database, given a Profile or Criteria object.
@param mixed               $criteria Criteria or Profile object containing data that is used to create the INSERT statement.
@param ConnectionInterface $con the ConnectionInterface connection to use
@return mixed           The new primary key.
@throws PropelException Any exceptions caught during processing will be
rethrown wrapped into a PropelException.
Performs an INSERT on the database given a Profile or Criteria object . @param mixed $criteria Criteria or Profile object containing data that is used to create the INSERT statement . @param ConnectionInterface $con the ConnectionInterface 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($criteria, ConnectionInterface $con = null)
    {
        if (null === $con) {
            $con = Propel::getServiceContainer()->getWriteConnection(ProfileTableMap::DATABASE_NAME);
        }
        if ($criteria instanceof Criteria) {
            $criteria = clone $criteria; 
        } else {
            $criteria = $criteria->buildCriteria(); 
        }
        if ($criteria->containsKey(ProfileTableMap::ID) && $criteria->keyContainsValue(ProfileTableMap::ID) ) {
            throw new PropelException('Cannot insert a value for auto-increment primary key ('.ProfileTableMap::ID.')');
        }
        $query = ProfileQuery::create()->mergeWith($criteria);
        try {
            $con->beginTransaction();
            $pk = $query->doInsert($con);
            $con->commit();
        } catch (PropelException $e) {
            $con->rollBack();
            throw $e;
        }
        return $pk;
    }
public static function doInsert ( $ criteria , ConnectionInterface $ con = null ) { if ( null === $ con ) { $ con = Propel :: getServiceContainer ( ) -> getWriteConnection ( ProfileTableMap :: DATABASE_NAME ) ; } if ( $ criteria instanceof Criteria ) { $ criteria = clone $ criteria ; } else { $ criteria = $ criteria -> buildCriteria ( ) ; } if ( $ criteria -> containsKey ( ProfileTableMap :: ID ) && $ criteria -> keyContainsValue ( ProfileTableMap :: ID ) ) { throw new PropelException ( 'Cannot insert a value for auto-increment primary key (' . ProfileTableMap :: ID . ')' ) ; } $ query = ProfileQuery :: create ( ) -> mergeWith ( $ criteria ) ; try { $ con -> beginTransaction ( ) ; $ pk = $ query -> doInsert ( $ con ) ; $ con -> commit ( ) ; } catch ( PropelException $ e ) { $ con -> rollBack ( ) ; throw $ e ; } return $ pk ; }
Performs an INSERT on the database, given a Profile or Criteria object.
Performs an INSERT on the database given a Profile or Criteria object .
// rename for clarity // build Criteria from Profile object // Set the correct dbName // use transaction because $criteria could contain info // for more than one table (I guess, conceivably)