Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
CollectionByPagesIterator.php
Go to the documentation of this file.
1 <?php
7 
15 {
24  public function iterate(\Magento\Framework\Data\Collection\AbstractDb $collection, $pageSize, array $callbacks)
25  {
27  $paginatedCollection = null;
28  $pageNumber = 1;
29  do {
30  $paginatedCollection = clone $collection;
31  $paginatedCollection->clear();
32 
33  $paginatedCollection->setPageSize($pageSize)->setCurPage($pageNumber);
34 
35  if ($paginatedCollection->count() > 0) {
36  foreach ($paginatedCollection as $item) {
37  foreach ($callbacks as $callback) {
38  call_user_func($callback, $item);
39  }
40  }
41  }
42 
43  $pageNumber++;
44  } while ($pageNumber <= $paginatedCollection->getLastPageNumber());
45 
46  $paginatedCollection->clear();
47  unset($paginatedCollection);
48  }
49 }