作者:shiron
项目:theli
/**
* 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;
}
作者:mtorner
项目:slowsho
/**
* 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;
}
作者:kalaspuffa
项目:php-orm-benchmar
/**
* 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();
}
}