本文整理匯總了PHP中Propel\Runtime\DataFetcher\DataFetcherInterface類的典型用法代碼示例。如果您正苦於以下問題:PHP DataFetcherInterface類的具體用法?PHP DataFetcherInterface怎麽用?PHP DataFetcherInterface使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了DataFetcherInterface類的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: populateObjects
/**
* 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;
}
示例2: populateObjects
/**
* 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;
}
示例3: next
/**
* 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();
}
}