Esempio n. 1
0
     *                         rethrown wrapped into a PropelException.
     */
    public static function doInsert($criteria, ConnectionInterface $con = null)
    {
        if (null === $con) {
            $con = Propel::getServiceContainer()->getWriteConnection(PurchaseTableMap::DATABASE_NAME);
        }
        if ($criteria instanceof Criteria) {
            $criteria = clone $criteria;
            // rename for clarity
        } else {
            $criteria = $criteria->buildCriteria();
            // build Criteria from Purchase object
        }
        if ($criteria->containsKey(PurchaseTableMap::COL_ID) && $criteria->keyContainsValue(PurchaseTableMap::COL_ID)) {
            throw new PropelException('Cannot insert a value for auto-increment primary key (' . PurchaseTableMap::COL_ID . ')');
        }
        // Set the correct dbName
        $query = PurchaseQuery::create()->mergeWith($criteria);
        // use transaction because $criteria could contain info
        // for more than one table (I guess, conceivably)
        return $con->transaction(function () use($con, $query) {
            return $query->doInsert($con);
        });
    }
}
// PurchaseTableMap
// This is the static code needed to register the TableMap for this table with the main Propel class.
//
PurchaseTableMap::buildTableMap();