Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Collection.php
Go to the documentation of this file.
1 <?php
7 
15 {
21  protected function _construct()
22  {
23  $this->setFlag('load_default_store_group', false);
24  $this->_init(\Magento\Store\Model\Group::class, \Magento\Store\Model\ResourceModel\Group::class);
25  }
26 
33  public function setLoadDefault($loadDefault)
34  {
35  return $this->setFlag('load_default_store_group', (bool)$loadDefault);
36  }
37 
44  public function getLoadDefault()
45  {
46  return $this->getFlag('load_default_store_group');
47  }
48 
54  public function setWithoutDefaultFilter()
55  {
56  return $this->addFieldToFilter('main_table.group_id', ['gt' => 0]);
57  }
58 
64  public function setWithoutStoreViewFilter()
65  {
66  return $this->addFieldToFilter('main_table.default_store_id', ['gt' => 0]);
67  }
68 
76  {
77  return $this->addFieldToFilter('main_table.root_category_id', ['eq' => 0])
78  ->addFieldToFilter('main_table.group_id', ['neq' => 0]);
79  }
80 
86  public function _beforeLoad()
87  {
88  if (!$this->getLoadDefault()) {
89  $this->setWithoutDefaultFilter();
90  }
91  $this->addOrder('main_table.name', self::SORT_ORDER_ASC);
92  return parent::_beforeLoad();
93  }
94 
100  public function toOptionArray()
101  {
102  return $this->_toOptionArray('group_id', 'name');
103  }
104 
111  public function addWebsiteFilter($website)
112  {
113  return $this->addFieldToFilter('main_table.website_id', ['in' => $website]);
114  }
115 }
_toOptionArray($valueField=null, $labelField='name', $additional=[])
Definition: AbstractDb.php:641
addOrder($field, $direction=self::SORT_ORDER_DESC)
Definition: AbstractDb.php:286