/**
  * Advances the cursor in the statement
  * Closes the cursor if the end of the statement is reached
  */
 public function next()
 {
     $this->currentRow = $this->dataFetcher->fetch();
     $this->currentKey++;
     $this->isValid = (bool) $this->currentRow;
     if (!$this->isValid) {
         $this->closeCursor();
     }
 }
Esempio n. 2
0
 /**
  * The returned array will contain objects of the default type or
  * objects that inherit from the default.
  *
  * @param DataFetcherInterface $dataFetcher
  * @return array
  * @throws PropelException Any exceptions caught during processing will be
  *         rethrown wrapped into a PropelException.
  */
 public static function populateObjects(DataFetcherInterface $dataFetcher)
 {
     $results = array();
     // set the class once to avoid overhead in the loop
     $cls = static::getOMClass(false);
     // populate the object(s)
     while ($row = $dataFetcher->fetch()) {
         $key = ModuleImageTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType());
         if (null !== ($obj = ModuleImageTableMap::getInstanceFromPool($key))) {
             // We no longer rehydrate the object, since this can cause data loss.
             // See http://www.propelorm.org/ticket/509
             // $obj->hydrate($row, 0, true); // rehydrate
             $results[] = $obj;
         } else {
             $obj = new $cls();
             $obj->hydrate($row);
             $results[] = $obj;
             ModuleImageTableMap::addInstanceToPool($obj, $key);
         }
         // if key exists
     }
     return $results;
 }
Esempio n. 3
0
 /**
  * The returned array will contain objects of the default type or
  * objects that inherit from the default.
  *
  * @param DataFetcherInterface $dataFetcher
  * @return array
  * @throws PropelException Any exceptions caught during processing will be
  *                         rethrown wrapped into a PropelException.
  */
 public static function populateObjects(DataFetcherInterface $dataFetcher)
 {
     $results = array();
     // populate the object(s)
     while ($row = $dataFetcher->fetch()) {
         $key = ResourceTableMap::getPrimaryKeyHashFromRow($row, 0, $dataFetcher->getIndexType());
         if (null !== ($obj = ResourceTableMap::getInstanceFromPool($key))) {
             // We no longer rehydrate the object, since this can cause data loss.
             // See http://www.propelorm.org/ticket/509
             // $obj->hydrate($row, 0, true); // rehydrate
             $results[] = $obj;
         } else {
             // class must be set each time from the record row
             $cls = static::getOMClass($row, 0);
             $cls = preg_replace('#\\.#', '\\', $cls);
             /** @var Resource $obj */
             $obj = new $cls();
             $obj->hydrate($row);
             $results[] = $obj;
             ResourceTableMap::addInstanceToPool($obj, $key);
         }
         // if key exists
     }
     return $results;
 }