Overview

Namespaces

  • PHP
  • Thelia
    • Action
    • Controller
    • Core
      • Bundle
      • Event
      • EventListener
      • Template
    • Exception
    • Log
      • Destination
    • Model
      • map
      • om
    • Routing
      • Matcher
    • Tools

Classes

  • BaseAccessory
  • BaseAccessoryPeer
  • BaseAccessoryQuery
  • BaseAddress
  • BaseAddressPeer
  • BaseAddressQuery
  • BaseAdmin
  • BaseAdminGroup
  • BaseAdminGroupPeer
  • BaseAdminGroupQuery
  • BaseAdminLog
  • BaseAdminLogPeer
  • BaseAdminLogQuery
  • BaseAdminPeer
  • BaseAdminQuery
  • BaseArea
  • BaseAreaPeer
  • BaseAreaQuery
  • BaseAttribute
  • BaseAttributeAv
  • BaseAttributeAvDesc
  • BaseAttributeAvDescPeer
  • BaseAttributeAvDescQuery
  • BaseAttributeAvI18n
  • BaseAttributeAvI18nPeer
  • BaseAttributeAvI18nQuery
  • BaseAttributeAvPeer
  • BaseAttributeAvQuery
  • BaseAttributeCategory
  • BaseAttributeCategoryPeer
  • BaseAttributeCategoryQuery
  • BaseAttributeCombination
  • BaseAttributeCombinationPeer
  • BaseAttributeCombinationQuery
  • BaseAttributeDesc
  • BaseAttributeDescPeer
  • BaseAttributeDescQuery
  • BaseAttributeI18n
  • BaseAttributeI18nPeer
  • BaseAttributeI18nQuery
  • BaseAttributePeer
  • BaseAttributeQuery
  • BaseCategory
  • BaseCategoryDesc
  • BaseCategoryDescPeer
  • BaseCategoryDescQuery
  • BaseCategoryI18n
  • BaseCategoryI18nPeer
  • BaseCategoryI18nQuery
  • BaseCategoryPeer
  • BaseCategoryQuery
  • BaseCategoryVersion
  • BaseCategoryVersionPeer
  • BaseCategoryVersionQuery
  • BaseCombination
  • BaseCombinationPeer
  • BaseCombinationQuery
  • BaseConfig
  • BaseConfigDesc
  • BaseConfigDescPeer
  • BaseConfigDescQuery
  • BaseConfigI18n
  • BaseConfigI18nPeer
  • BaseConfigI18nQuery
  • BaseConfigPeer
  • BaseConfigQuery
  • BaseContent
  • BaseContentAssoc
  • BaseContentAssocPeer
  • BaseContentAssocQuery
  • BaseContentDesc
  • BaseContentDescPeer
  • BaseContentDescQuery
  • BaseContentFolder
  • BaseContentFolderPeer
  • BaseContentFolderQuery
  • BaseContentI18n
  • BaseContentI18nPeer
  • BaseContentI18nQuery
  • BaseContentPeer
  • BaseContentQuery
  • BaseContentVersion
  • BaseContentVersionPeer
  • BaseContentVersionQuery
  • BaseCountry
  • BaseCountryDesc
  • BaseCountryDescPeer
  • BaseCountryDescQuery
  • BaseCountryI18n
  • BaseCountryI18nPeer
  • BaseCountryI18nQuery
  • BaseCountryPeer
  • BaseCountryQuery
  • BaseCoupon
  • BaseCouponOrder
  • BaseCouponOrderPeer
  • BaseCouponOrderQuery
  • BaseCouponPeer
  • BaseCouponQuery
  • BaseCouponRule
  • BaseCouponRulePeer
  • BaseCouponRuleQuery
  • BaseCurrency
  • BaseCurrencyPeer
  • BaseCurrencyQuery
  • BaseCustomer
  • BaseCustomerPeer
  • BaseCustomerQuery
  • BaseCustomerTitle
  • BaseCustomerTitleDesc
  • BaseCustomerTitleDescPeer
  • BaseCustomerTitleDescQuery
  • BaseCustomerTitleI18n
  • BaseCustomerTitleI18nPeer
  • BaseCustomerTitleI18nQuery
  • BaseCustomerTitlePeer
  • BaseCustomerTitleQuery
  • BaseDelivzone
  • BaseDelivzonePeer
  • BaseDelivzoneQuery
  • BaseDocument
  • BaseDocumentDesc
  • BaseDocumentDescPeer
  • BaseDocumentDescQuery
  • BaseDocumentI18n
  • BaseDocumentI18nPeer
  • BaseDocumentI18nQuery
  • BaseDocumentPeer
  • BaseDocumentQuery
  • BaseFeature
  • BaseFeatureAv
  • BaseFeatureAvDesc
  • BaseFeatureAvDescPeer
  • BaseFeatureAvDescQuery
  • BaseFeatureAvI18n
  • BaseFeatureAvI18nPeer
  • BaseFeatureAvI18nQuery
  • BaseFeatureAvPeer
  • BaseFeatureAvQuery
  • BaseFeatureCategory
  • BaseFeatureCategoryPeer
  • BaseFeatureCategoryQuery
  • BaseFeatureDesc
  • BaseFeatureDescPeer
  • BaseFeatureDescQuery
  • BaseFeatureI18n
  • BaseFeatureI18nPeer
  • BaseFeatureI18nQuery
  • BaseFeaturePeer
  • BaseFeatureProd
  • BaseFeatureProdPeer
  • BaseFeatureProdQuery
  • BaseFeatureQuery
  • BaseFolder
  • BaseFolderDesc
  • BaseFolderDescPeer
  • BaseFolderDescQuery
  • BaseFolderI18n
  • BaseFolderI18nPeer
  • BaseFolderI18nQuery
  • BaseFolderPeer
  • BaseFolderQuery
  • BaseFolderVersion
  • BaseFolderVersionPeer
  • BaseFolderVersionQuery
  • BaseGroup
  • BaseGroupDesc
  • BaseGroupDescPeer
  • BaseGroupDescQuery
  • BaseGroupI18n
  • BaseGroupI18nPeer
  • BaseGroupI18nQuery
  • BaseGroupModule
  • BaseGroupModulePeer
  • BaseGroupModuleQuery
  • BaseGroupPeer
  • BaseGroupQuery
  • BaseGroupResource
  • BaseGroupResourcePeer
  • BaseGroupResourceQuery
  • BaseImage
  • BaseImageDesc
  • BaseImageDescPeer
  • BaseImageDescQuery
  • BaseImageI18n
  • BaseImageI18nPeer
  • BaseImageI18nQuery
  • BaseImagePeer
  • BaseImageQuery
  • BaseLang
  • BaseLangPeer
  • BaseLangQuery
  • BaseMessage
  • BaseMessageDesc
  • BaseMessageDescPeer
  • BaseMessageDescQuery
  • BaseMessageI18n
  • BaseMessageI18nPeer
  • BaseMessageI18nQuery
  • BaseMessagePeer
  • BaseMessageQuery
  • BaseMessageVersion
  • BaseMessageVersionPeer
  • BaseMessageVersionQuery
  • BaseModuleDesc
  • BaseModuleDescPeer
  • BaseModuleDescQuery
  • BaseModuleI18n
  • BaseModuleI18nPeer
  • BaseModuleI18nQuery
  • BaseModulePeer
  • BaseOrder
  • BaseOrderAddress
  • BaseOrderAddressPeer
  • BaseOrderAddressQuery
  • BaseOrderFeature
  • BaseOrderFeaturePeer
  • BaseOrderFeatureQuery
  • BaseOrderPeer
  • BaseOrderProduct
  • BaseOrderProductPeer
  • BaseOrderProductQuery
  • BaseOrderQuery
  • BaseOrderStatus
  • BaseOrderStatusDesc
  • BaseOrderStatusDescPeer
  • BaseOrderStatusDescQuery
  • BaseOrderStatusI18n
  • BaseOrderStatusI18nPeer
  • BaseOrderStatusI18nQuery
  • BaseOrderStatusPeer
  • BaseOrderStatusQuery
  • BaseProduct
  • BaseProductCategory
  • BaseProductCategoryPeer
  • BaseProductCategoryQuery
  • BaseProductDesc
  • BaseProductDescPeer
  • BaseProductDescQuery
  • BaseProductI18n
  • BaseProductI18nPeer
  • BaseProductI18nQuery
  • BaseProductPeer
  • BaseProductQuery
  • BaseProductVersion
  • BaseProductVersionPeer
  • BaseProductVersionQuery
  • BaseResource
  • BaseResourceDesc
  • BaseResourceDescPeer
  • BaseResourceDescQuery
  • BaseResourceI18n
  • BaseResourceI18nPeer
  • BaseResourceI18nQuery
  • BaseResourcePeer
  • BaseResourceQuery
  • BaseRewriting
  • BaseRewritingPeer
  • BaseRewritingQuery
  • BaseStock
  • BaseStockPeer
  • BaseStockQuery
  • BaseTax
  • BaseTaxDesc
  • BaseTaxDescPeer
  • BaseTaxDescQuery
  • BaseTaxI18n
  • BaseTaxI18nPeer
  • BaseTaxI18nQuery
  • BaseTaxPeer
  • BaseTaxQuery
  • BaseTaxRule
  • BaseTaxRuleCountry
  • BaseTaxRuleCountryPeer
  • BaseTaxRuleCountryQuery
  • BaseTaxRuleDesc
  • BaseTaxRuleDescPeer
  • BaseTaxRuleDescQuery
  • BaseTaxRuleI18n
  • BaseTaxRuleI18nPeer
  • BaseTaxRuleI18nQuery
  • BaseTaxRulePeer
  • BaseTaxRuleQuery
  • Overview
  • Namespace
  • Class
  • Tree
  1: <?php
  2: 
  3: namespace Thelia\Model\om;
  4: 
  5: use \BasePeer;
  6: use \Criteria;
  7: use \PDO;
  8: use \PDOStatement;
  9: use \Propel;
 10: use \PropelException;
 11: use \PropelPDO;
 12: use Thelia\Model\TaxRuleI18n;
 13: use Thelia\Model\TaxRuleI18nPeer;
 14: use Thelia\Model\TaxRulePeer;
 15: use Thelia\Model\map\TaxRuleI18nTableMap;
 16: 
 17: /**
 18:  * Base static class for performing query and update operations on the 'tax_rule_i18n' table.
 19:  *
 20:  *
 21:  *
 22:  * @package propel.generator.Thelia.Model.om
 23:  */
 24: abstract class BaseTaxRuleI18nPeer
 25: {
 26: 
 27:     /** the default database name for this class */
 28:     const DATABASE_NAME = 'thelia';
 29: 
 30:     /** the table name for this class */
 31:     const TABLE_NAME = 'tax_rule_i18n';
 32: 
 33:     /** the related Propel class for this table */
 34:     const OM_CLASS = 'Thelia\\Model\\TaxRuleI18n';
 35: 
 36:     /** the related TableMap class for this table */
 37:     const TM_CLASS = 'TaxRuleI18nTableMap';
 38: 
 39:     /** The total number of columns. */
 40:     const NUM_COLUMNS = 2;
 41: 
 42:     /** The number of lazy-loaded columns. */
 43:     const NUM_LAZY_LOAD_COLUMNS = 0;
 44: 
 45:     /** The number of columns to hydrate (NUM_COLUMNS - NUM_LAZY_LOAD_COLUMNS) */
 46:     const NUM_HYDRATE_COLUMNS = 2;
 47: 
 48:     /** the column name for the ID field */
 49:     const ID = 'tax_rule_i18n.ID';
 50: 
 51:     /** the column name for the LOCALE field */
 52:     const LOCALE = 'tax_rule_i18n.LOCALE';
 53: 
 54:     /** The default string format for model objects of the related table **/
 55:     const DEFAULT_STRING_FORMAT = 'YAML';
 56: 
 57:     /**
 58:      * An identiy map to hold any loaded instances of TaxRuleI18n objects.
 59:      * This must be public so that other peer classes can access this when hydrating from JOIN
 60:      * queries.
 61:      * @var        array TaxRuleI18n[]
 62:      */
 63:     public static $instances = array();
 64: 
 65: 
 66:     /**
 67:      * holds an array of fieldnames
 68:      *
 69:      * first dimension keys are the type constants
 70:      * e.g. TaxRuleI18nPeer::$fieldNames[TaxRuleI18nPeer::TYPE_PHPNAME][0] = 'Id'
 71:      */
 72:     protected static $fieldNames = array (
 73:         BasePeer::TYPE_PHPNAME => array ('Id', 'Locale', ),
 74:         BasePeer::TYPE_STUDLYPHPNAME => array ('id', 'locale', ),
 75:         BasePeer::TYPE_COLNAME => array (TaxRuleI18nPeer::ID, TaxRuleI18nPeer::LOCALE, ),
 76:         BasePeer::TYPE_RAW_COLNAME => array ('ID', 'LOCALE', ),
 77:         BasePeer::TYPE_FIELDNAME => array ('id', 'locale', ),
 78:         BasePeer::TYPE_NUM => array (0, 1, )
 79:     );
 80: 
 81:     /**
 82:      * holds an array of keys for quick access to the fieldnames array
 83:      *
 84:      * first dimension keys are the type constants
 85:      * e.g. TaxRuleI18nPeer::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] = 0
 86:      */
 87:     protected static $fieldKeys = array (
 88:         BasePeer::TYPE_PHPNAME => array ('Id' => 0, 'Locale' => 1, ),
 89:         BasePeer::TYPE_STUDLYPHPNAME => array ('id' => 0, 'locale' => 1, ),
 90:         BasePeer::TYPE_COLNAME => array (TaxRuleI18nPeer::ID => 0, TaxRuleI18nPeer::LOCALE => 1, ),
 91:         BasePeer::TYPE_RAW_COLNAME => array ('ID' => 0, 'LOCALE' => 1, ),
 92:         BasePeer::TYPE_FIELDNAME => array ('id' => 0, 'locale' => 1, ),
 93:         BasePeer::TYPE_NUM => array (0, 1, )
 94:     );
 95: 
 96:     /**
 97:      * Translates a fieldname to another type
 98:      *
 99:      * @param      string $name field name
100:      * @param      string $fromType One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
101:      *                         BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM
102:      * @param      string $toType   One of the class type constants
103:      * @return string          translated name of the field.
104:      * @throws PropelException - if the specified name could not be found in the fieldname mappings.
105:      */
106:     public static function translateFieldName($name, $fromType, $toType)
107:     {
108:         $toNames = TaxRuleI18nPeer::getFieldNames($toType);
109:         $key = isset(TaxRuleI18nPeer::$fieldKeys[$fromType][$name]) ? TaxRuleI18nPeer::$fieldKeys[$fromType][$name] : null;
110:         if ($key === null) {
111:             throw new PropelException("'$name' could not be found in the field names of type '$fromType'. These are: " . print_r(TaxRuleI18nPeer::$fieldKeys[$fromType], true));
112:         }
113: 
114:         return $toNames[$key];
115:     }
116: 
117:     /**
118:      * Returns an array of field names.
119:      *
120:      * @param      string $type The type of fieldnames to return:
121:      *                      One of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
122:      *                      BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM
123:      * @return array           A list of field names
124:      * @throws PropelException - if the type is not valid.
125:      */
126:     public static function getFieldNames($type = BasePeer::TYPE_PHPNAME)
127:     {
128:         if (!array_key_exists($type, TaxRuleI18nPeer::$fieldNames)) {
129:             throw new PropelException('Method getFieldNames() expects the parameter $type to be one of the class constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME, BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM. ' . $type . ' was given.');
130:         }
131: 
132:         return TaxRuleI18nPeer::$fieldNames[$type];
133:     }
134: 
135:     /**
136:      * Convenience method which changes table.column to alias.column.
137:      *
138:      * Using this method you can maintain SQL abstraction while using column aliases.
139:      * <code>
140:      *      $c->addAlias("alias1", TablePeer::TABLE_NAME);
141:      *      $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
142:      * </code>
143:      * @param      string $alias The alias for the current table.
144:      * @param      string $column The column name for current table. (i.e. TaxRuleI18nPeer::COLUMN_NAME).
145:      * @return string
146:      */
147:     public static function alias($alias, $column)
148:     {
149:         return str_replace(TaxRuleI18nPeer::TABLE_NAME.'.', $alias.'.', $column);
150:     }
151: 
152:     /**
153:      * Add all the columns needed to create a new object.
154:      *
155:      * Note: any columns that were marked with lazyLoad="true" in the
156:      * XML schema will not be added to the select list and only loaded
157:      * on demand.
158:      *
159:      * @param      Criteria $criteria object containing the columns to add.
160:      * @param      string   $alias    optional table alias
161:      * @throws PropelException Any exceptions caught during processing will be
162:      *       rethrown wrapped into a PropelException.
163:      */
164:     public static function addSelectColumns(Criteria $criteria, $alias = null)
165:     {
166:         if (null === $alias) {
167:             $criteria->addSelectColumn(TaxRuleI18nPeer::ID);
168:             $criteria->addSelectColumn(TaxRuleI18nPeer::LOCALE);
169:         } else {
170:             $criteria->addSelectColumn($alias . '.ID');
171:             $criteria->addSelectColumn($alias . '.LOCALE');
172:         }
173:     }
174: 
175:     /**
176:      * Returns the number of rows matching criteria.
177:      *
178:      * @param      Criteria $criteria
179:      * @param      boolean $distinct Whether to select only distinct columns; deprecated: use Criteria->setDistinct() instead.
180:      * @param      PropelPDO $con
181:      * @return int Number of matching rows.
182:      */
183:     public static function doCount(Criteria $criteria, $distinct = false, PropelPDO $con = null)
184:     {
185:         // we may modify criteria, so copy it first
186:         $criteria = clone $criteria;
187: 
188:         // We need to set the primary table name, since in the case that there are no WHERE columns
189:         // it will be impossible for the BasePeer::createSelectSql() method to determine which
190:         // tables go into the FROM clause.
191:         $criteria->setPrimaryTableName(TaxRuleI18nPeer::TABLE_NAME);
192: 
193:         if ($distinct && !in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
194:             $criteria->setDistinct();
195:         }
196: 
197:         if (!$criteria->hasSelectClause()) {
198:             TaxRuleI18nPeer::addSelectColumns($criteria);
199:         }
200: 
201:         $criteria->clearOrderByColumns(); // ORDER BY won't ever affect the count
202:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME); // Set the correct dbName
203: 
204:         if ($con === null) {
205:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_READ);
206:         }
207:         // BasePeer returns a PDOStatement
208:         $stmt = BasePeer::doCount($criteria, $con);
209: 
210:         if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
211:             $count = (int) $row[0];
212:         } else {
213:             $count = 0; // no rows returned; we infer that means 0 matches.
214:         }
215:         $stmt->closeCursor();
216: 
217:         return $count;
218:     }
219:     /**
220:      * Selects one object from the DB.
221:      *
222:      * @param      Criteria $criteria object used to create the SELECT statement.
223:      * @param      PropelPDO $con
224:      * @return                 TaxRuleI18n
225:      * @throws PropelException Any exceptions caught during processing will be
226:      *       rethrown wrapped into a PropelException.
227:      */
228:     public static function doSelectOne(Criteria $criteria, PropelPDO $con = null)
229:     {
230:         $critcopy = clone $criteria;
231:         $critcopy->setLimit(1);
232:         $objects = TaxRuleI18nPeer::doSelect($critcopy, $con);
233:         if ($objects) {
234:             return $objects[0];
235:         }
236: 
237:         return null;
238:     }
239:     /**
240:      * Selects several row from the DB.
241:      *
242:      * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
243:      * @param      PropelPDO $con
244:      * @return array           Array of selected Objects
245:      * @throws PropelException Any exceptions caught during processing will be
246:      *       rethrown wrapped into a PropelException.
247:      */
248:     public static function doSelect(Criteria $criteria, PropelPDO $con = null)
249:     {
250:         return TaxRuleI18nPeer::populateObjects(TaxRuleI18nPeer::doSelectStmt($criteria, $con));
251:     }
252:     /**
253:      * Prepares the Criteria object and uses the parent doSelect() method to execute a PDOStatement.
254:      *
255:      * Use this method directly if you want to work with an executed statement durirectly (for example
256:      * to perform your own object hydration).
257:      *
258:      * @param      Criteria $criteria The Criteria object used to build the SELECT statement.
259:      * @param      PropelPDO $con The connection to use
260:      * @throws PropelException Any exceptions caught during processing will be
261:      *       rethrown wrapped into a PropelException.
262:      * @return PDOStatement The executed PDOStatement object.
263:      * @see        BasePeer::doSelect()
264:      */
265:     public static function doSelectStmt(Criteria $criteria, PropelPDO $con = null)
266:     {
267:         if ($con === null) {
268:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_READ);
269:         }
270: 
271:         if (!$criteria->hasSelectClause()) {
272:             $criteria = clone $criteria;
273:             TaxRuleI18nPeer::addSelectColumns($criteria);
274:         }
275: 
276:         // Set the correct dbName
277:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
278: 
279:         // BasePeer returns a PDOStatement
280:         return BasePeer::doSelect($criteria, $con);
281:     }
282:     /**
283:      * Adds an object to the instance pool.
284:      *
285:      * Propel keeps cached copies of objects in an instance pool when they are retrieved
286:      * from the database.  In some cases -- especially when you override doSelect*()
287:      * methods in your stub classes -- you may need to explicitly add objects
288:      * to the cache in order to ensure that the same objects are always returned by doSelect*()
289:      * and retrieveByPK*() calls.
290:      *
291:      * @param      TaxRuleI18n $obj A TaxRuleI18n object.
292:      * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
293:      */
294:     public static function addInstanceToPool($obj, $key = null)
295:     {
296:         if (Propel::isInstancePoolingEnabled()) {
297:             if ($key === null) {
298:                 $key = serialize(array((string) $obj->getId(), (string) $obj->getLocale()));
299:             } // if key === null
300:             TaxRuleI18nPeer::$instances[$key] = $obj;
301:         }
302:     }
303: 
304:     /**
305:      * Removes an object from the instance pool.
306:      *
307:      * Propel keeps cached copies of objects in an instance pool when they are retrieved
308:      * from the database.  In some cases -- especially when you override doDelete
309:      * methods in your stub classes -- you may need to explicitly remove objects
310:      * from the cache in order to prevent returning objects that no longer exist.
311:      *
312:      * @param      mixed $value A TaxRuleI18n object or a primary key value.
313:      *
314:      * @return void
315:      * @throws PropelException - if the value is invalid.
316:      */
317:     public static function removeInstanceFromPool($value)
318:     {
319:         if (Propel::isInstancePoolingEnabled() && $value !== null) {
320:             if (is_object($value) && $value instanceof TaxRuleI18n) {
321:                 $key = serialize(array((string) $value->getId(), (string) $value->getLocale()));
322:             } elseif (is_array($value) && count($value) === 2) {
323:                 // assume we've been passed a primary key
324:                 $key = serialize(array((string) $value[0], (string) $value[1]));
325:             } else {
326:                 $e = new PropelException("Invalid value passed to removeInstanceFromPool().  Expected primary key or TaxRuleI18n object; got " . (is_object($value) ? get_class($value) . ' object.' : var_export($value,true)));
327:                 throw $e;
328:             }
329: 
330:             unset(TaxRuleI18nPeer::$instances[$key]);
331:         }
332:     } // removeInstanceFromPool()
333: 
334:     /**
335:      * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table.
336:      *
337:      * For tables with a single-column primary key, that simple pkey value will be returned.  For tables with
338:      * a multi-column primary key, a serialize()d version of the primary key will be returned.
339:      *
340:      * @param      string $key The key (@see getPrimaryKeyHash()) for this instance.
341:      * @return   TaxRuleI18n Found object or null if 1) no instance exists for specified key or 2) instance pooling has been disabled.
342:      * @see        getPrimaryKeyHash()
343:      */
344:     public static function getInstanceFromPool($key)
345:     {
346:         if (Propel::isInstancePoolingEnabled()) {
347:             if (isset(TaxRuleI18nPeer::$instances[$key])) {
348:                 return TaxRuleI18nPeer::$instances[$key];
349:             }
350:         }
351: 
352:         return null; // just to be explicit
353:     }
354: 
355:     /**
356:      * Clear the instance pool.
357:      *
358:      * @return void
359:      */
360:     public static function clearInstancePool()
361:     {
362:         TaxRuleI18nPeer::$instances = array();
363:     }
364: 
365:     /**
366:      * Method to invalidate the instance pool of all tables related to tax_rule_i18n
367:      * by a foreign key with ON DELETE CASCADE
368:      */
369:     public static function clearRelatedInstancePool()
370:     {
371:     }
372: 
373:     /**
374:      * Retrieves a string version of the primary key from the DB resultset row that can be used to uniquely identify a row in this table.
375:      *
376:      * For tables with a single-column primary key, that simple pkey value will be returned.  For tables with
377:      * a multi-column primary key, a serialize()d version of the primary key will be returned.
378:      *
379:      * @param      array $row PropelPDO resultset row.
380:      * @param      int $startcol The 0-based offset for reading from the resultset row.
381:      * @return string A string version of PK or null if the components of primary key in result array are all null.
382:      */
383:     public static function getPrimaryKeyHashFromRow($row, $startcol = 0)
384:     {
385:         // If the PK cannot be derived from the row, return null.
386:         if ($row[$startcol] === null && $row[$startcol + 1] === null) {
387:             return null;
388:         }
389: 
390:         return serialize(array((string) $row[$startcol], (string) $row[$startcol + 1]));
391:     }
392: 
393:     /**
394:      * Retrieves the primary key from the DB resultset row
395:      * For tables with a single-column primary key, that simple pkey value will be returned.  For tables with
396:      * a multi-column primary key, an array of the primary key columns will be returned.
397:      *
398:      * @param      array $row PropelPDO resultset row.
399:      * @param      int $startcol The 0-based offset for reading from the resultset row.
400:      * @return mixed The primary key of the row
401:      */
402:     public static function getPrimaryKeyFromRow($row, $startcol = 0)
403:     {
404: 
405:         return array((int) $row[$startcol], (string) $row[$startcol + 1]);
406:     }
407: 
408:     /**
409:      * The returned array will contain objects of the default type or
410:      * objects that inherit from the default.
411:      *
412:      * @throws PropelException Any exceptions caught during processing will be
413:      *       rethrown wrapped into a PropelException.
414:      */
415:     public static function populateObjects(PDOStatement $stmt)
416:     {
417:         $results = array();
418: 
419:         // set the class once to avoid overhead in the loop
420:         $cls = TaxRuleI18nPeer::getOMClass();
421:         // populate the object(s)
422:         while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
423:             $key = TaxRuleI18nPeer::getPrimaryKeyHashFromRow($row, 0);
424:             if (null !== ($obj = TaxRuleI18nPeer::getInstanceFromPool($key))) {
425:                 // We no longer rehydrate the object, since this can cause data loss.
426:                 // See http://www.propelorm.org/ticket/509
427:                 // $obj->hydrate($row, 0, true); // rehydrate
428:                 $results[] = $obj;
429:             } else {
430:                 $obj = new $cls();
431:                 $obj->hydrate($row);
432:                 $results[] = $obj;
433:                 TaxRuleI18nPeer::addInstanceToPool($obj, $key);
434:             } // if key exists
435:         }
436:         $stmt->closeCursor();
437: 
438:         return $results;
439:     }
440:     /**
441:      * Populates an object of the default type or an object that inherit from the default.
442:      *
443:      * @param      array $row PropelPDO resultset row.
444:      * @param      int $startcol The 0-based offset for reading from the resultset row.
445:      * @throws PropelException Any exceptions caught during processing will be
446:      *       rethrown wrapped into a PropelException.
447:      * @return array (TaxRuleI18n object, last column rank)
448:      */
449:     public static function populateObject($row, $startcol = 0)
450:     {
451:         $key = TaxRuleI18nPeer::getPrimaryKeyHashFromRow($row, $startcol);
452:         if (null !== ($obj = TaxRuleI18nPeer::getInstanceFromPool($key))) {
453:             // We no longer rehydrate the object, since this can cause data loss.
454:             // See http://www.propelorm.org/ticket/509
455:             // $obj->hydrate($row, $startcol, true); // rehydrate
456:             $col = $startcol + TaxRuleI18nPeer::NUM_HYDRATE_COLUMNS;
457:         } else {
458:             $cls = TaxRuleI18nPeer::OM_CLASS;
459:             $obj = new $cls();
460:             $col = $obj->hydrate($row, $startcol);
461:             TaxRuleI18nPeer::addInstanceToPool($obj, $key);
462:         }
463: 
464:         return array($obj, $col);
465:     }
466: 
467: 
468:     /**
469:      * Returns the number of rows matching criteria, joining the related TaxRule table
470:      *
471:      * @param      Criteria $criteria
472:      * @param      boolean $distinct Whether to select only distinct columns; deprecated: use Criteria->setDistinct() instead.
473:      * @param      PropelPDO $con
474:      * @param      String    $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN
475:      * @return int Number of matching rows.
476:      */
477:     public static function doCountJoinTaxRule(Criteria $criteria, $distinct = false, PropelPDO $con = null, $join_behavior = Criteria::LEFT_JOIN)
478:     {
479:         // we're going to modify criteria, so copy it first
480:         $criteria = clone $criteria;
481: 
482:         // We need to set the primary table name, since in the case that there are no WHERE columns
483:         // it will be impossible for the BasePeer::createSelectSql() method to determine which
484:         // tables go into the FROM clause.
485:         $criteria->setPrimaryTableName(TaxRuleI18nPeer::TABLE_NAME);
486: 
487:         if ($distinct && !in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
488:             $criteria->setDistinct();
489:         }
490: 
491:         if (!$criteria->hasSelectClause()) {
492:             TaxRuleI18nPeer::addSelectColumns($criteria);
493:         }
494: 
495:         $criteria->clearOrderByColumns(); // ORDER BY won't ever affect the count
496: 
497:         // Set the correct dbName
498:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
499: 
500:         if ($con === null) {
501:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_READ);
502:         }
503: 
504:         $criteria->addJoin(TaxRuleI18nPeer::ID, TaxRulePeer::ID, $join_behavior);
505: 
506:         $stmt = BasePeer::doCount($criteria, $con);
507: 
508:         if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
509:             $count = (int) $row[0];
510:         } else {
511:             $count = 0; // no rows returned; we infer that means 0 matches.
512:         }
513:         $stmt->closeCursor();
514: 
515:         return $count;
516:     }
517: 
518: 
519:     /**
520:      * Selects a collection of TaxRuleI18n objects pre-filled with their TaxRule objects.
521:      * @param      Criteria  $criteria
522:      * @param      PropelPDO $con
523:      * @param      String    $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN
524:      * @return array           Array of TaxRuleI18n objects.
525:      * @throws PropelException Any exceptions caught during processing will be
526:      *       rethrown wrapped into a PropelException.
527:      */
528:     public static function doSelectJoinTaxRule(Criteria $criteria, $con = null, $join_behavior = Criteria::LEFT_JOIN)
529:     {
530:         $criteria = clone $criteria;
531: 
532:         // Set the correct dbName if it has not been overridden
533:         if ($criteria->getDbName() == Propel::getDefaultDB()) {
534:             $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
535:         }
536: 
537:         TaxRuleI18nPeer::addSelectColumns($criteria);
538:         $startcol = TaxRuleI18nPeer::NUM_HYDRATE_COLUMNS;
539:         TaxRulePeer::addSelectColumns($criteria);
540: 
541:         $criteria->addJoin(TaxRuleI18nPeer::ID, TaxRulePeer::ID, $join_behavior);
542: 
543:         $stmt = BasePeer::doSelect($criteria, $con);
544:         $results = array();
545: 
546:         while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
547:             $key1 = TaxRuleI18nPeer::getPrimaryKeyHashFromRow($row, 0);
548:             if (null !== ($obj1 = TaxRuleI18nPeer::getInstanceFromPool($key1))) {
549:                 // We no longer rehydrate the object, since this can cause data loss.
550:                 // See http://www.propelorm.org/ticket/509
551:                 // $obj1->hydrate($row, 0, true); // rehydrate
552:             } else {
553: 
554:                 $cls = TaxRuleI18nPeer::getOMClass();
555: 
556:                 $obj1 = new $cls();
557:                 $obj1->hydrate($row);
558:                 TaxRuleI18nPeer::addInstanceToPool($obj1, $key1);
559:             } // if $obj1 already loaded
560: 
561:             $key2 = TaxRulePeer::getPrimaryKeyHashFromRow($row, $startcol);
562:             if ($key2 !== null) {
563:                 $obj2 = TaxRulePeer::getInstanceFromPool($key2);
564:                 if (!$obj2) {
565: 
566:                     $cls = TaxRulePeer::getOMClass();
567: 
568:                     $obj2 = new $cls();
569:                     $obj2->hydrate($row, $startcol);
570:                     TaxRulePeer::addInstanceToPool($obj2, $key2);
571:                 } // if obj2 already loaded
572: 
573:                 // Add the $obj1 (TaxRuleI18n) to $obj2 (TaxRule)
574:                 $obj2->addTaxRuleI18n($obj1);
575: 
576:             } // if joined row was not null
577: 
578:             $results[] = $obj1;
579:         }
580:         $stmt->closeCursor();
581: 
582:         return $results;
583:     }
584: 
585: 
586:     /**
587:      * Returns the number of rows matching criteria, joining all related tables
588:      *
589:      * @param      Criteria $criteria
590:      * @param      boolean $distinct Whether to select only distinct columns; deprecated: use Criteria->setDistinct() instead.
591:      * @param      PropelPDO $con
592:      * @param      String    $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN
593:      * @return int Number of matching rows.
594:      */
595:     public static function doCountJoinAll(Criteria $criteria, $distinct = false, PropelPDO $con = null, $join_behavior = Criteria::LEFT_JOIN)
596:     {
597:         // we're going to modify criteria, so copy it first
598:         $criteria = clone $criteria;
599: 
600:         // We need to set the primary table name, since in the case that there are no WHERE columns
601:         // it will be impossible for the BasePeer::createSelectSql() method to determine which
602:         // tables go into the FROM clause.
603:         $criteria->setPrimaryTableName(TaxRuleI18nPeer::TABLE_NAME);
604: 
605:         if ($distinct && !in_array(Criteria::DISTINCT, $criteria->getSelectModifiers())) {
606:             $criteria->setDistinct();
607:         }
608: 
609:         if (!$criteria->hasSelectClause()) {
610:             TaxRuleI18nPeer::addSelectColumns($criteria);
611:         }
612: 
613:         $criteria->clearOrderByColumns(); // ORDER BY won't ever affect the count
614: 
615:         // Set the correct dbName
616:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
617: 
618:         if ($con === null) {
619:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_READ);
620:         }
621: 
622:         $criteria->addJoin(TaxRuleI18nPeer::ID, TaxRulePeer::ID, $join_behavior);
623: 
624:         $stmt = BasePeer::doCount($criteria, $con);
625: 
626:         if ($row = $stmt->fetch(PDO::FETCH_NUM)) {
627:             $count = (int) $row[0];
628:         } else {
629:             $count = 0; // no rows returned; we infer that means 0 matches.
630:         }
631:         $stmt->closeCursor();
632: 
633:         return $count;
634:     }
635: 
636:     /**
637:      * Selects a collection of TaxRuleI18n objects pre-filled with all related objects.
638:      *
639:      * @param      Criteria  $criteria
640:      * @param      PropelPDO $con
641:      * @param      String    $join_behavior the type of joins to use, defaults to Criteria::LEFT_JOIN
642:      * @return array           Array of TaxRuleI18n objects.
643:      * @throws PropelException Any exceptions caught during processing will be
644:      *       rethrown wrapped into a PropelException.
645:      */
646:     public static function doSelectJoinAll(Criteria $criteria, $con = null, $join_behavior = Criteria::LEFT_JOIN)
647:     {
648:         $criteria = clone $criteria;
649: 
650:         // Set the correct dbName if it has not been overridden
651:         if ($criteria->getDbName() == Propel::getDefaultDB()) {
652:             $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
653:         }
654: 
655:         TaxRuleI18nPeer::addSelectColumns($criteria);
656:         $startcol2 = TaxRuleI18nPeer::NUM_HYDRATE_COLUMNS;
657: 
658:         TaxRulePeer::addSelectColumns($criteria);
659:         $startcol3 = $startcol2 + TaxRulePeer::NUM_HYDRATE_COLUMNS;
660: 
661:         $criteria->addJoin(TaxRuleI18nPeer::ID, TaxRulePeer::ID, $join_behavior);
662: 
663:         $stmt = BasePeer::doSelect($criteria, $con);
664:         $results = array();
665: 
666:         while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
667:             $key1 = TaxRuleI18nPeer::getPrimaryKeyHashFromRow($row, 0);
668:             if (null !== ($obj1 = TaxRuleI18nPeer::getInstanceFromPool($key1))) {
669:                 // We no longer rehydrate the object, since this can cause data loss.
670:                 // See http://www.propelorm.org/ticket/509
671:                 // $obj1->hydrate($row, 0, true); // rehydrate
672:             } else {
673:                 $cls = TaxRuleI18nPeer::getOMClass();
674: 
675:                 $obj1 = new $cls();
676:                 $obj1->hydrate($row);
677:                 TaxRuleI18nPeer::addInstanceToPool($obj1, $key1);
678:             } // if obj1 already loaded
679: 
680:             // Add objects for joined TaxRule rows
681: 
682:             $key2 = TaxRulePeer::getPrimaryKeyHashFromRow($row, $startcol2);
683:             if ($key2 !== null) {
684:                 $obj2 = TaxRulePeer::getInstanceFromPool($key2);
685:                 if (!$obj2) {
686: 
687:                     $cls = TaxRulePeer::getOMClass();
688: 
689:                     $obj2 = new $cls();
690:                     $obj2->hydrate($row, $startcol2);
691:                     TaxRulePeer::addInstanceToPool($obj2, $key2);
692:                 } // if obj2 loaded
693: 
694:                 // Add the $obj1 (TaxRuleI18n) to the collection in $obj2 (TaxRule)
695:                 $obj2->addTaxRuleI18n($obj1);
696:             } // if joined row not null
697: 
698:             $results[] = $obj1;
699:         }
700:         $stmt->closeCursor();
701: 
702:         return $results;
703:     }
704: 
705:     /**
706:      * Returns the TableMap related to this peer.
707:      * This method is not needed for general use but a specific application could have a need.
708:      * @return TableMap
709:      * @throws PropelException Any exceptions caught during processing will be
710:      *       rethrown wrapped into a PropelException.
711:      */
712:     public static function getTableMap()
713:     {
714:         return Propel::getDatabaseMap(TaxRuleI18nPeer::DATABASE_NAME)->getTable(TaxRuleI18nPeer::TABLE_NAME);
715:     }
716: 
717:     /**
718:      * Add a TableMap instance to the database for this peer class.
719:      */
720:     public static function buildTableMap()
721:     {
722:       $dbMap = Propel::getDatabaseMap(BaseTaxRuleI18nPeer::DATABASE_NAME);
723:       if (!$dbMap->hasTable(BaseTaxRuleI18nPeer::TABLE_NAME)) {
724:         $dbMap->addTableObject(new TaxRuleI18nTableMap());
725:       }
726:     }
727: 
728:     /**
729:      * The class that the Peer will make instances of.
730:      *
731:      *
732:      * @return string ClassName
733:      */
734:     public static function getOMClass()
735:     {
736:         return TaxRuleI18nPeer::OM_CLASS;
737:     }
738: 
739:     /**
740:      * Performs an INSERT on the database, given a TaxRuleI18n or Criteria object.
741:      *
742:      * @param      mixed $values Criteria or TaxRuleI18n object containing data that is used to create the INSERT statement.
743:      * @param      PropelPDO $con the PropelPDO connection to use
744:      * @return mixed           The new primary key.
745:      * @throws PropelException Any exceptions caught during processing will be
746:      *       rethrown wrapped into a PropelException.
747:      */
748:     public static function doInsert($values, PropelPDO $con = null)
749:     {
750:         if ($con === null) {
751:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
752:         }
753: 
754:         if ($values instanceof Criteria) {
755:             $criteria = clone $values; // rename for clarity
756:         } else {
757:             $criteria = $values->buildCriteria(); // build Criteria from TaxRuleI18n object
758:         }
759: 
760: 
761:         // Set the correct dbName
762:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
763: 
764:         try {
765:             // use transaction because $criteria could contain info
766:             // for more than one table (I guess, conceivably)
767:             $con->beginTransaction();
768:             $pk = BasePeer::doInsert($criteria, $con);
769:             $con->commit();
770:         } catch (PropelException $e) {
771:             $con->rollBack();
772:             throw $e;
773:         }
774: 
775:         return $pk;
776:     }
777: 
778:     /**
779:      * Performs an UPDATE on the database, given a TaxRuleI18n or Criteria object.
780:      *
781:      * @param      mixed $values Criteria or TaxRuleI18n object containing data that is used to create the UPDATE statement.
782:      * @param      PropelPDO $con The connection to use (specify PropelPDO connection object to exert more control over transactions).
783:      * @return int             The number of affected rows (if supported by underlying database driver).
784:      * @throws PropelException Any exceptions caught during processing will be
785:      *       rethrown wrapped into a PropelException.
786:      */
787:     public static function doUpdate($values, PropelPDO $con = null)
788:     {
789:         if ($con === null) {
790:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
791:         }
792: 
793:         $selectCriteria = new Criteria(TaxRuleI18nPeer::DATABASE_NAME);
794: 
795:         if ($values instanceof Criteria) {
796:             $criteria = clone $values; // rename for clarity
797: 
798:             $comparison = $criteria->getComparison(TaxRuleI18nPeer::ID);
799:             $value = $criteria->remove(TaxRuleI18nPeer::ID);
800:             if ($value) {
801:                 $selectCriteria->add(TaxRuleI18nPeer::ID, $value, $comparison);
802:             } else {
803:                 $selectCriteria->setPrimaryTableName(TaxRuleI18nPeer::TABLE_NAME);
804:             }
805: 
806:             $comparison = $criteria->getComparison(TaxRuleI18nPeer::LOCALE);
807:             $value = $criteria->remove(TaxRuleI18nPeer::LOCALE);
808:             if ($value) {
809:                 $selectCriteria->add(TaxRuleI18nPeer::LOCALE, $value, $comparison);
810:             } else {
811:                 $selectCriteria->setPrimaryTableName(TaxRuleI18nPeer::TABLE_NAME);
812:             }
813: 
814:         } else { // $values is TaxRuleI18n object
815:             $criteria = $values->buildCriteria(); // gets full criteria
816:             $selectCriteria = $values->buildPkeyCriteria(); // gets criteria w/ primary key(s)
817:         }
818: 
819:         // set the correct dbName
820:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
821: 
822:         return BasePeer::doUpdate($selectCriteria, $criteria, $con);
823:     }
824: 
825:     /**
826:      * Deletes all rows from the tax_rule_i18n table.
827:      *
828:      * @param      PropelPDO $con the connection to use
829:      * @return int             The number of affected rows (if supported by underlying database driver).
830:      * @throws PropelException
831:      */
832:     public static function doDeleteAll(PropelPDO $con = null)
833:     {
834:         if ($con === null) {
835:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
836:         }
837:         $affectedRows = 0; // initialize var to track total num of affected rows
838:         try {
839:             // use transaction because $criteria could contain info
840:             // for more than one table or we could emulating ON DELETE CASCADE, etc.
841:             $con->beginTransaction();
842:             $affectedRows += BasePeer::doDeleteAll(TaxRuleI18nPeer::TABLE_NAME, $con, TaxRuleI18nPeer::DATABASE_NAME);
843:             // Because this db requires some delete cascade/set null emulation, we have to
844:             // clear the cached instance *after* the emulation has happened (since
845:             // instances get re-added by the select statement contained therein).
846:             TaxRuleI18nPeer::clearInstancePool();
847:             TaxRuleI18nPeer::clearRelatedInstancePool();
848:             $con->commit();
849: 
850:             return $affectedRows;
851:         } catch (PropelException $e) {
852:             $con->rollBack();
853:             throw $e;
854:         }
855:     }
856: 
857:     /**
858:      * Performs a DELETE on the database, given a TaxRuleI18n or Criteria object OR a primary key value.
859:      *
860:      * @param      mixed $values Criteria or TaxRuleI18n object or primary key or array of primary keys
861:      *              which is used to create the DELETE statement
862:      * @param      PropelPDO $con the connection to use
863:      * @return int The number of affected rows (if supported by underlying database driver).  This includes CASCADE-related rows
864:      *              if supported by native driver or if emulated using Propel.
865:      * @throws PropelException Any exceptions caught during processing will be
866:      *       rethrown wrapped into a PropelException.
867:      */
868:      public static function doDelete($values, PropelPDO $con = null)
869:      {
870:         if ($con === null) {
871:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
872:         }
873: 
874:         if ($values instanceof Criteria) {
875:             // invalidate the cache for all objects of this type, since we have no
876:             // way of knowing (without running a query) what objects should be invalidated
877:             // from the cache based on this Criteria.
878:             TaxRuleI18nPeer::clearInstancePool();
879:             // rename for clarity
880:             $criteria = clone $values;
881:         } elseif ($values instanceof TaxRuleI18n) { // it's a model object
882:             // invalidate the cache for this single object
883:             TaxRuleI18nPeer::removeInstanceFromPool($values);
884:             // create criteria based on pk values
885:             $criteria = $values->buildPkeyCriteria();
886:         } else { // it's a primary key, or an array of pks
887:             $criteria = new Criteria(TaxRuleI18nPeer::DATABASE_NAME);
888:             // primary key is composite; we therefore, expect
889:             // the primary key passed to be an array of pkey values
890:             if (count($values) == count($values, COUNT_RECURSIVE)) {
891:                 // array is not multi-dimensional
892:                 $values = array($values);
893:             }
894:             foreach ($values as $value) {
895:                 $criterion = $criteria->getNewCriterion(TaxRuleI18nPeer::ID, $value[0]);
896:                 $criterion->addAnd($criteria->getNewCriterion(TaxRuleI18nPeer::LOCALE, $value[1]));
897:                 $criteria->addOr($criterion);
898:                 // we can invalidate the cache for this single PK
899:                 TaxRuleI18nPeer::removeInstanceFromPool($value);
900:             }
901:         }
902: 
903:         // Set the correct dbName
904:         $criteria->setDbName(TaxRuleI18nPeer::DATABASE_NAME);
905: 
906:         $affectedRows = 0; // initialize var to track total num of affected rows
907: 
908:         try {
909:             // use transaction because $criteria could contain info
910:             // for more than one table or we could emulating ON DELETE CASCADE, etc.
911:             $con->beginTransaction();
912: 
913:             $affectedRows += BasePeer::doDelete($criteria, $con);
914:             TaxRuleI18nPeer::clearRelatedInstancePool();
915:             $con->commit();
916: 
917:             return $affectedRows;
918:         } catch (PropelException $e) {
919:             $con->rollBack();
920:             throw $e;
921:         }
922:     }
923: 
924:     /**
925:      * Validates all modified columns of given TaxRuleI18n object.
926:      * If parameter $columns is either a single column name or an array of column names
927:      * than only those columns are validated.
928:      *
929:      * NOTICE: This does not apply to primary or foreign keys for now.
930:      *
931:      * @param      TaxRuleI18n $obj The object to validate.
932:      * @param      mixed $cols Column name or array of column names.
933:      *
934:      * @return mixed TRUE if all columns are valid or the error message of the first invalid column.
935:      */
936:     public static function doValidate($obj, $cols = null)
937:     {
938:         $columns = array();
939: 
940:         if ($cols) {
941:             $dbMap = Propel::getDatabaseMap(TaxRuleI18nPeer::DATABASE_NAME);
942:             $tableMap = $dbMap->getTable(TaxRuleI18nPeer::TABLE_NAME);
943: 
944:             if (! is_array($cols)) {
945:                 $cols = array($cols);
946:             }
947: 
948:             foreach ($cols as $colName) {
949:                 if ($tableMap->hasColumn($colName)) {
950:                     $get = 'get' . $tableMap->getColumn($colName)->getPhpName();
951:                     $columns[$colName] = $obj->$get();
952:                 }
953:             }
954:         } else {
955: 
956:         }
957: 
958:         return BasePeer::doValidate(TaxRuleI18nPeer::DATABASE_NAME, TaxRuleI18nPeer::TABLE_NAME, $columns);
959:     }
960: 
961:     /**
962:      * Retrieve object using using composite pkey values.
963:      * @param   int $id
964:      * @param   string $locale
965:      * @param      PropelPDO $con
966:      * @return   TaxRuleI18n
967:      */
968:     public static function retrieveByPK($id, $locale, PropelPDO $con = null) {
969:         $_instancePoolKey = serialize(array((string) $id, (string) $locale));
970:          if (null !== ($obj = TaxRuleI18nPeer::getInstanceFromPool($_instancePoolKey))) {
971:              return $obj;
972:         }
973: 
974:         if ($con === null) {
975:             $con = Propel::getConnection(TaxRuleI18nPeer::DATABASE_NAME, Propel::CONNECTION_READ);
976:         }
977:         $criteria = new Criteria(TaxRuleI18nPeer::DATABASE_NAME);
978:         $criteria->add(TaxRuleI18nPeer::ID, $id);
979:         $criteria->add(TaxRuleI18nPeer::LOCALE, $locale);
980:         $v = TaxRuleI18nPeer::doSelect($criteria, $con);
981: 
982:         return !empty($v) ? $v[0] : null;
983:     }
984: } // BaseTaxRuleI18nPeer
985: 
986: // This is the static code needed to register the TableMap for this table with the main Propel class.
987: //
988: BaseTaxRuleI18nPeer::buildTableMap();
989: 
990: 
thelia API documentation generated by ApiGen 2.8.0