Collection.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\ResourceModel\Order\Grid;
  7. use Magento\Framework\Data\Collection\Db\FetchStrategyInterface as FetchStrategy;
  8. use Magento\Framework\Data\Collection\EntityFactoryInterface as EntityFactory;
  9. use Magento\Framework\Event\ManagerInterface as EventManager;
  10. use Psr\Log\LoggerInterface as Logger;
  11. /**
  12. * Order grid collection
  13. */
  14. class Collection extends \Magento\Framework\View\Element\UiComponent\DataProvider\SearchResult
  15. {
  16. /**
  17. * Initialize dependencies.
  18. *
  19. * @param EntityFactory $entityFactory
  20. * @param Logger $logger
  21. * @param FetchStrategy $fetchStrategy
  22. * @param EventManager $eventManager
  23. * @param string $mainTable
  24. * @param string $resourceModel
  25. */
  26. public function __construct(
  27. EntityFactory $entityFactory,
  28. Logger $logger,
  29. FetchStrategy $fetchStrategy,
  30. EventManager $eventManager,
  31. $mainTable = 'sales_order_grid',
  32. $resourceModel = \Magento\Sales\Model\ResourceModel\Order::class
  33. ) {
  34. parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager, $mainTable, $resourceModel);
  35. }
  36. /**
  37. * @inheritdoc
  38. */
  39. protected function _initSelect()
  40. {
  41. parent::_initSelect();
  42. $tableDescription = $this->getConnection()->describeTable($this->getMainTable());
  43. foreach ($tableDescription as $columnInfo) {
  44. $this->addFilterToMap($columnInfo['COLUMN_NAME'], 'main_table.' . $columnInfo['COLUMN_NAME']);
  45. }
  46. return $this;
  47. }
  48. }