Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Public Member Functions | Protected Member Functions | Protected Attributes
Collection Class Reference
Inheritance diagram for Collection:
AbstractCollection AbstractDb SourceProviderInterface Collection ArrayInterface CollectionDataSourceInterface OptionSourceInterface ArgumentInterface Collection

Public Member Functions

 __construct (\Magento\Framework\Data\Collection\EntityFactoryInterface $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\DB\Adapter\AdapterInterface $connection=null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource=null)
 
 setStoreId ($store)
 
 getStoreId ()
 
 setQueryFilter ($query)
 
 setPopularQueryFilter ($storeIds=null)
 
 setRecentQueryFilter ()
 
 addStoreFilter ($storeIds)
 
- Public Member Functions inherited from AbstractCollection
 __construct (\Magento\Framework\Data\Collection\EntityFactoryInterface $entityFactory, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Data\Collection\Db\FetchStrategyInterface $fetchStrategy, \Magento\Framework\Event\ManagerInterface $eventManager, \Magento\Framework\DB\Adapter\AdapterInterface $connection=null, \Magento\Framework\Model\ResourceModel\Db\AbstractDb $resource=null)
 
 getMainTable ()
 
 setMainTable ($table)
 
 getSelect ()
 
 addFieldToSelect ($field, $alias=null)
 
 addExpressionFieldToSelect ($alias, $expression, $fields)
 
 removeFieldFromSelect ($field, $isAlias=false)
 
 removeAllFieldsFromSelect ()
 
 setModel ($model)
 
 getModelName ()
 
 setResourceModel ($model)
 
 getResourceModelName ()
 
 getResource ()
 
 getTable ($table)
 
 getAllIds ()
 
 join ($table, $cond, $cols=' *')
 
 setResetItemsDataChanged ($flag)
 
 resetItemsDataChanged ()
 
 save ()
 
 __sleep ()
 
 __wakeup ()
 
- Public Member Functions inherited from AbstractDb
 __construct (EntityFactoryInterface $entityFactory, Logger $logger, FetchStrategyInterface $fetchStrategy, \Magento\Framework\DB\Adapter\AdapterInterface $connection=null)
 
 getResource ()
 
 addBindParam ($name, $value)
 
 getIdFieldName ()
 
 setConnection (\Magento\Framework\DB\Adapter\AdapterInterface $conn)
 
 getSelect ()
 
 getConnection ()
 
 getSize ()
 
 getSelectCountSql ()
 
 getSelectSql ($stringMode=false)
 
 setOrder ($field, $direction=self::SORT_ORDER_DESC)
 
 addOrder ($field, $direction=self::SORT_ORDER_DESC)
 
 unshiftOrder ($field, $direction=self::SORT_ORDER_DESC)
 
 addFieldToFilter ($field, $condition=null)
 
 distinct ($flag)
 
 load ($printQuery=false, $logQuery=false)
 
 loadWithFilter ($printQuery=false, $logQuery=false)
 
 fetchItem ()
 
 getData ()
 
 resetData ()
 
 loadData ($printQuery=false, $logQuery=false)
 
 printLogQuery ($printQuery=false, $logQuery=false, $sql=null)
 
 addFilterToMap ($filter, $alias, $group='fields')
 
 __clone ()
 
 joinExtensionAttribute (JoinDataInterface $join, JoinProcessorInterface $extensionAttributesJoinProcessor)
 
 getItemObjectClass ()
 
 __sleep ()
 
 __wakeup ()
 
- Public Member Functions inherited from Collection
 __construct (EntityFactoryInterface $entityFactory)
 
 addFilter ($field, $value, $type='and')
 
 addFieldToFilter ($field, $condition)
 
 getFilter ($field)
 
 isLoaded ()
 
 getCurPage ($displacement=0)
 
 getLastPageNumber ()
 
 getPageSize ()
 
 getSize ()
 
 getFirstItem ()
 
 getLastItem ()
 
 getItems ()
 
 getColumnValues ($colName)
 
 getItemsByColumnValue ($column, $value)
 
 getItemByColumnValue ($column, $value)
 
 addItem (\Magento\Framework\DataObject $item)
 
 getAllIds ()
 
 removeItemByKey ($key)
 
 removeAllItems ()
 
 clear ()
 
 walk ($callback, array $args=[])
 
 each ($objMethod, $args=[])
 
 setDataToAll ($key, $value=null)
 
 setCurPage ($page)
 
 setPageSize ($size)
 
 setOrder ($field, $direction=self::SORT_ORDER_DESC)
 
 setItemObjectClass ($className)
 
 getNewEmptyItem ()
 
 distinct ($flag)
 
 loadData ($printQuery=false, $logQuery=false)
 
 load ($printQuery=false, $logQuery=false)
 
 loadWithFilter ($printQuery=false, $logQuery=false)
 
 toXml ()
 
 toArray ($arrRequiredFields=[])
 
 toOptionArray ()
 
 toOptionHash ()
 
 getItemById ($idValue)
 
 getIterator ()
 
 count ()
 
 getFlag ($flag)
 
 setFlag ($flag, $value=null)
 
 hasFlag ($flag)
 
 __sleep ()
 
 __wakeup ()
 
- Public Member Functions inherited from SourceProviderInterface
 getIdFieldName ()
 
 addFieldToFilter ($attribute, $condition=null)
 

Protected Member Functions

 _construct ()
 
- Protected Member Functions inherited from AbstractCollection
 _construct ()
 
 _initSelect ()
 
 _initSelectFields ()
 
 _getInitialFieldsToSelect ()
 
 _initInitialFieldsToSelect ()
 
 _init ($model, $resourceModel)
 
 _beforeLoad ()
 
 _afterLoad ()
 
- Protected Member Functions inherited from AbstractDb
 _setIdFieldName ($fieldName)
 
 _getItemId (\Magento\Framework\DataObject $item)
 
 _renderFilters ()
 
 _renderFiltersBefore ()
 
 _translateCondition ($field, $condition)
 
 _getMappedField ($field)
 
 _getMapper ()
 
 _getConditionSql ($fieldName, $condition)
 
 _getConditionFieldName ($fieldName)
 
 _renderOrders ()
 
 _renderLimit ()
 
 _beforeLoad ()
 
 beforeAddLoadedItem (\Magento\Framework\DataObject $item)
 
 _toOptionArray ($valueField=null, $labelField='name', $additional=[])
 
 _toOptionHash ($valueField=null, $labelField='name')
 
 _afterLoadData ()
 
 _afterLoad ()
 
 _logQuery ($sql)
 
 _reset ()
 
 _fetchAll (Select $select)
 
 _initSelect ()
 
- Protected Member Functions inherited from Collection
 _setIsLoaded ($flag=true)
 
 _addItem ($item)
 
 _getItemId (\Magento\Framework\DataObject $item)
 
 _renderFilters ()
 
 _renderOrders ()
 
 _renderLimit ()
 
 _toOptionArray ($valueField='id', $labelField='name', $additional=[])
 
 _toOptionHash ($valueField='id', $labelField='name')
 

Protected Attributes

 $_storeId
 
 $_storeManager
 
 $_resourceHelper
 
- Protected Attributes inherited from AbstractCollection
 $_model
 
 $_resourceModel
 
 $_resource
 
 $_fieldsToSelect = null
 
 $_initialFieldsToSelect = null
 
 $_fieldsToSelectChanged = false
 
 $_joinedTables = []
 
 $_mainTable = null
 
 $_resetItemsDataChanged = false
 
 $_eventPrefix = ''
 
 $_eventObject = ''
 
 $_eventManager = null
 
- Protected Attributes inherited from AbstractDb
 $_conn
 
 $_select
 
 $_idFieldName
 
 $_bindParams = []
 
 $_data = null
 
 $_map = null
 
 $_fetchStmt = null
 
 $_isOrdersRendered = false
 
 $_logger
 
 $extensionAttributesJoinProcessor
 
- Protected Attributes inherited from Collection
 $_items = []
 
 $_itemObjectClass = \Magento\Framework\DataObject::class
 
 $_orders = []
 
 $_filters = []
 
 $_isFiltersRendered = false
 
 $_curPage = 1
 
 $_pageSize = false
 
 $_totalRecords
 
 $_isCollectionLoaded
 
 $_flags = []
 
 $_entityFactory
 

Additional Inherited Members

- Data Fields inherited from Collection
const SORT_ORDER_ASC = 'ASC'
 
const SORT_ORDER_DESC = 'DESC'
 

Detailed Description

Search query collection

@api

Since
100.0.2

Definition at line 16 of file Collection.php.

Constructor & Destructor Documentation

◆ __construct()

Parameters
\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\DB\Adapter\AdapterInterface$connection
\Magento\Framework\Model\ResourceModel\Db\AbstractDb$resource

Definition at line 49 of file Collection.php.

58  {
59  $this->_storeManager = $storeManager;
60  $this->_resourceHelper = $resourceHelper;
61  parent::__construct($entityFactory, $logger, $fetchStrategy, $eventManager, $connection, $resource);
62  }
$storeManager
$resource
Definition: bulk.php:12
$logger
$connection
Definition: bulk.php:13

Member Function Documentation

◆ _construct()

_construct ( )
protected

Init model for collection

Returns
void

Definition at line 69 of file Collection.php.

70  {
71  $this->_init(\Magento\Search\Model\Query::class, \Magento\Search\Model\ResourceModel\Query::class);
72  }

◆ addStoreFilter()

addStoreFilter (   $storeIds)

Filter collection by specified store ids

Parameters
array | int$storeIds
Returns
$this

Definition at line 173 of file Collection.php.

174  {
175  if (!is_array($storeIds)) {
176  $storeIds = [$storeIds];
177  }
178  $this->getSelect()->where('main_table.store_id IN (?)', $storeIds);
179  return $this;
180  }

◆ getStoreId()

getStoreId ( )

Retrieve Store ID Filter

Returns
int|null

Definition at line 94 of file Collection.php.

◆ setPopularQueryFilter()

setPopularQueryFilter (   $storeIds = null)

Set Popular Search Query Filter

Parameters
int | array$storeIds
Returns
$this

Definition at line 131 of file Collection.php.

132  {
133 
134  $this->getSelect()->reset(
135  \Magento\Framework\DB\Select::FROM
136  )->reset(
137  \Magento\Framework\DB\Select::COLUMNS
138  )->distinct(
139  true
140  )->from(
141  ['main_table' => $this->getTable('search_query')]
142  );
143  if ($storeIds) {
144  $this->addStoreFilter($storeIds);
145  $this->getSelect()->where('num_results > 0');
146  } elseif (null === $storeIds) {
147  $this->addStoreFilter($this->_storeManager->getStore()->getId());
148  $this->getSelect()->where('num_results > 0');
149  }
150 
151  $this->getSelect()->order(['popularity desc']);
152 
153  return $this;
154  }
elseif(isset( $params[ 'redirect_parent']))
Definition: iframe.phtml:17
const FROM
Definition: Select.php:49
const COLUMNS
Definition: Select.php:48

◆ setQueryFilter()

setQueryFilter (   $query)

Set search query text to filter

Parameters
string$query
Returns
$this

Definition at line 105 of file Collection.php.

106  {
107  $this->getSelect()->reset(
108  \Magento\Framework\DB\Select::FROM
109  )->distinct(
110  true
111  )->from(
112  ['main_table' => $this->getTable('search_query')]
113  )->where(
114  'num_results > 0 AND display_in_terms = 1 AND query_text LIKE ?',
115  $this->_resourceHelper->addLikeEscape($query, ['position' => 'start'])
116  )->order(
117  'popularity ' . \Magento\Framework\DB\Select::SQL_DESC
118  );
119  if ($this->getStoreId()) {
120  $this->getSelect()->where('store_id = ?', (int)$this->getStoreId());
121  }
122  return $this;
123  }
const FROM
Definition: Select.php:49
const SQL_DESC
Definition: Select.php:82

◆ setRecentQueryFilter()

setRecentQueryFilter ( )

Set Recent Queries Order

Returns
$this

Definition at line 161 of file Collection.php.

162  {
163  $this->setOrder('updated_at', 'desc');
164  return $this;
165  }
setOrder($field, $direction=self::SORT_ORDER_DESC)
Definition: AbstractDb.php:274

◆ setStoreId()

setStoreId (   $store)

Set Store ID for filter

Parameters
Store | int$store
Returns
$this

Definition at line 80 of file Collection.php.

81  {
82  if ($store instanceof Store) {
83  $store = $store->getId();
84  }
85  $this->_storeId = $store;
86  return $this;
87  }

Field Documentation

◆ $_resourceHelper

$_resourceHelper
protected

Definition at line 37 of file Collection.php.

◆ $_storeId

$_storeId
protected

Definition at line 23 of file Collection.php.

◆ $_storeManager

$_storeManager
protected

Definition at line 30 of file Collection.php.


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