Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions
Iterator Class Reference
Inheritance diagram for Iterator:
DataObject

Public Member Functions

 walk ($query, array $callbacks, array $args=[], $connection=null)
 
- Public Member Functions inherited from DataObject
 __construct (array $data=[])
 
 addData (array $arr)
 
 setData ($key, $value=null)
 
 unsetData ($key=null)
 
 getData ($key='', $index=null)
 
 getDataByPath ($path)
 
 getDataByKey ($key)
 
 setDataUsingMethod ($key, $args=[])
 
 getDataUsingMethod ($key, $args=null)
 
 hasData ($key='')
 
 toArray (array $keys=[])
 
 convertToArray (array $keys=[])
 
 toXml (array $keys=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 convertToXml (array $arrAttributes=[], $rootName='item', $addOpenTag=false, $addCdata=true)
 
 toJson (array $keys=[])
 
 convertToJson (array $keys=[])
 
 toString ($format='')
 
 __call ($method, $args)
 
 isEmpty ()
 
 serialize ($keys=[], $valueSeparator='=', $fieldSeparator=' ', $quote='"')
 
 debug ($data=null, &$objects=[])
 
 offsetSet ($offset, $value)
 
 offsetExists ($offset)
 
 offsetUnset ($offset)
 
 offsetGet ($offset)
 

Protected Member Functions

 _getStatement ($query, AdapterInterface $connection=null)
 
- Protected Member Functions inherited from DataObject
 _getData ($key)
 
 _underscore ($name)
 

Additional Inherited Members

- Protected Attributes inherited from DataObject
 $_data = []
 
- Static Protected Attributes inherited from DataObject
static $_underscoreCache = []
 

Detailed Description

Definition at line 16 of file Iterator.php.

Member Function Documentation

◆ _getStatement()

_getStatement (   $query,
AdapterInterface  $connection = null 
)
protected

Fetch Zend statement instance

Parameters
\Zend_Db_Statement_Interface | \Magento\Framework\DB\Select | string$query
AdapterInterface$connection
Returns
\Zend_Db_Statement_Interface
Exceptions
LocalizedException

Definition at line 53 of file Iterator.php.

54  {
55  if ($query instanceof \Zend_Db_Statement_Interface) {
56  return $query;
57  }
58 
59  if ($query instanceof \Zend_Db_Select) {
60  return $query->query();
61  }
62 
63  if (is_string($query)) {
64  if (!$connection instanceof AdapterInterface) {
65  throw new LocalizedException(
66  new Phrase('The connection is invalid. Verify the connection and try again.')
67  );
68  }
69  return $connection->query($query);
70  }
71 
72  throw new LocalizedException(new Phrase('The query is invalid. Verify the query and try again.'));
73  }
$connection
Definition: bulk.php:13

◆ walk()

walk (   $query,
array  $callbacks,
array  $args = [],
  $connection = null 
)

Walk over records fetched from query one by one using callback function

Parameters
\Zend_Db_Statement_Interface | \Magento\Framework\DB\Select | string$query
array | string$callbacks
array$args
AdapterInterface$connection
Returns
\Magento\Framework\Model\ResourceModel\Iterator

Definition at line 27 of file Iterator.php.

28  {
29  $stmt = $this->_getStatement($query, $connection);
30  $args['idx'] = 0;
31  while ($row = $stmt->fetch()) {
32  $args['row'] = $row;
33  foreach ($callbacks as $callback) {
34  $result = call_user_func($callback, $args);
35  if (!empty($result)) {
36  $args = array_merge($args, (array)$result);
37  }
38  }
39  $args['idx']++;
40  }
41 
42  return $this;
43  }
_getStatement($query, AdapterInterface $connection=null)
Definition: Iterator.php:53
$connection
Definition: bulk.php:13

The documentation for this class was generated from the following file: