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
13 
18 class Collection extends \Magento\Review\Model\ResourceModel\Review\Collection
19 {
25  protected function _construct()
26  {
27  $this->_init(\Magento\Review\Model\Review::class, \Magento\Review\Model\ResourceModel\Review::class);
28  }
29 
36  public function addProductFilter($productId)
37  {
38  $this->addFieldToFilter('entity_pk_value', ['eq' => (int)$productId]);
39 
40  return $this;
41  }
42 
48  public function resetSelect()
49  {
50  parent::resetSelect();
51  $this->_joinFields();
52  return $this;
53  }
54 
60  public function getSelectCountSql()
61  {
62  $countSelect = clone $this->_select;
63  $countSelect->reset(\Magento\Framework\DB\Select::ORDER);
64  $countSelect->reset(\Magento\Framework\DB\Select::LIMIT_COUNT);
65  $countSelect->reset(\Magento\Framework\DB\Select::LIMIT_OFFSET);
66  $countSelect->reset(\Magento\Framework\DB\Select::COLUMNS);
67  $countSelect->columns("COUNT(main_table.review_id)");
68 
69  return $countSelect;
70  }
71 
79  public function setOrder($attribute, $dir = self::SORT_ORDER_DESC)
80  {
81  if (in_array($attribute, ['nickname', 'title', 'detail', 'created_at'])) {
82  $this->_select->order($attribute . ' ' . $dir);
83  } else {
84  parent::setOrder($attribute, $dir);
85  }
86 
87  return $this;
88  }
89 }
setOrder($attribute, $dir=self::SORT_ORDER_DESC)
Definition: Collection.php:79