Files

81 lines
2.3 KiB
PHP

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\AdvancedSearch\Model\ResourceModel\Search\Grid;
/**
* @api
* @since 100.0.2
*/
class Collection extends \Magento\Search\Model\ResourceModel\Query\Collection
{
/**
* Registry manager
*
* @var \Magento\Framework\Registry
*/
protected $_registryManager;
/**
* @param \Magento\Framework\Data\Collection\EntityFactory $entityFactory
* @param \Psr\Log\LoggerInterface $logger
* @param \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy
* @param \Magento\Framework\Event\ManagerInterface $eventManager
* @param \Magento\Store\Model\StoreManagerInterface $storeManager
* @param \Magento\Framework\DB\Helper $resourceHelper
* @param \Magento\Framework\Registry $registry
* @param mixed $connection
* @param mixed $resource
*/
public function __construct(
\Magento\Framework\Data\Collection\EntityFactory $entityFactory,
\Psr\Log\LoggerInterface $logger,
\Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy,
\Magento\Framework\Event\ManagerInterface $eventManager,
\Magento\Store\Model\StoreManagerInterface $storeManager,
\Magento\Framework\DB\Helper $resourceHelper,
\Magento\Framework\Registry $registry,
\Magento\Framework\DB\Adapter\AdapterInterface $connection = null,
$resource = null
) {
$this->_registryManager = $registry;
parent::__construct(
$entityFactory,
$logger,
$fetchStrategy,
$eventManager,
$storeManager,
$resourceHelper,
$connection,
$resource
);
}
/**
* Initialize select
*
* @return $this
*/
protected function _initSelect()
{
parent::_initSelect();
$queryId = $this->getQuery()->getId();
if ($queryId) {
$this->addFieldToFilter('query_id', ['nin' => $queryId]);
}
return $this;
}
/**
* Retrieve a value from registry by a key
*
* @return \Magento\Search\Model\Query
*/
public function getQuery()
{
return $this->_registryManager->registry('current_catalog_search');
}
}