Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
ReportProvider.php
Go to the documentation of this file.
1 <?php
8 
10 
15 {
19  private $queryFactory;
20 
24  private $connectionFactory;
25 
29  private $iteratorFactory;
30 
38  public function __construct(
39  QueryFactory $queryFactory,
40  ConnectionFactory $connectionFactory,
41  IteratorFactory $iteratorFactory
42  ) {
43  $this->queryFactory = $queryFactory;
44  $this->connectionFactory = $connectionFactory;
45  $this->iteratorFactory = $iteratorFactory;
46  }
47 
55  private function getIteratorName(Query $query)
56  {
57  $config = $query->getConfig();
58  return $config['iterator'] ?? null;
59  }
60 
67  public function getReport($name)
68  {
69  $query = $this->queryFactory->create($name);
70  $connection = $this->connectionFactory->getConnection($query->getConnectionName());
71  $statement = $connection->query($query->getSelect());
72  return $this->iteratorFactory->create($statement, $this->getIteratorName($query));
73  }
74 }
$config
Definition: fraud_order.php:17
__construct(QueryFactory $queryFactory, ConnectionFactory $connectionFactory, IteratorFactory $iteratorFactory)
$connection
Definition: bulk.php:13
if(!isset($_GET['name'])) $name
Definition: log.php:14