123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Review\Model\ResourceModel\Rating\Option;
- /**
- * Rating option collection
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
- {
- /**
- * Rating votes table
- *
- * @var string
- */
- protected $_ratingVoteTable;
- /**
- * Define model
- *
- * @return void
- */
- protected function _construct()
- {
- $this->_init(
- \Magento\Review\Model\Rating\Option::class,
- \Magento\Review\Model\ResourceModel\Rating\Option::class
- );
- $this->_ratingVoteTable = $this->getTable('rating_option_vote');
- }
- /**
- * Add rating filter
- *
- * @param int|array $rating
- * @return $this
- */
- public function addRatingFilter($rating)
- {
- if (is_numeric($rating)) {
- $this->addFilter('rating_id', $rating);
- } elseif (is_array($rating)) {
- $this->addFilter('rating_id', $this->_getConditionSql('rating_id', ['in' => $rating]), 'string');
- }
- return $this;
- }
- /**
- * Set order by position field
- *
- * @param string $dir
- * @return $this
- */
- public function setPositionOrder($dir = 'ASC')
- {
- $this->setOrder('main_table.position', $dir);
- return $this;
- }
- }
|