|
| __construct (\Magento\Framework\Model\ResourceModel\Db\Context $context, \Psr\Log\LoggerInterface $logger, \Magento\Framework\Module\Manager $moduleManager, \Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Review\Model\ResourceModel\Review\Summary $reviewSummary, $connectionName=null) |
|
| getStores ($ratingId) |
|
| getEntitySummary ($object, $onlyForCurrentStore=true) |
|
| getReviewSummary ($object, $onlyForCurrentStore=true) |
|
| getEntityIdByCode ($entityCode) |
|
| deleteAggregatedRatingsByProductId ($productId) |
|
| __construct (\Magento\Framework\Model\ResourceModel\Db\Context $context, $connectionName=null) |
|
| __sleep () |
|
| __wakeup () |
|
| getIdFieldName () |
|
| getMainTable () |
|
| getTable ($tableName) |
|
| getConnection () |
|
| load (\Magento\Framework\Model\AbstractModel $object, $value, $field=null) |
|
| save (\Magento\Framework\Model\AbstractModel $object) |
|
| delete (\Magento\Framework\Model\AbstractModel $object) |
|
| addUniqueField ($field) |
|
| resetUniqueField () |
|
| unserializeFields (\Magento\Framework\Model\AbstractModel $object) |
|
| getUniqueFields () |
|
| hasDataChanged ($object) |
|
| getChecksum ($table) |
|
| afterLoad (\Magento\Framework\DataObject $object) |
|
| beforeSave (\Magento\Framework\DataObject $object) |
|
| afterSave (\Magento\Framework\DataObject $object) |
|
| beforeDelete (\Magento\Framework\DataObject $object) |
|
| afterDelete (\Magento\Framework\DataObject $object) |
|
| serializeFields (\Magento\Framework\Model\AbstractModel $object) |
|
| __construct () |
|
| getConnection () |
|
| beginTransaction () |
|
| addCommitCallback ($callback) |
|
| commit () |
|
| rollBack () |
|
| getValidationRulesBeforeSave () |
|
|
| _construct () |
|
| _initUniqueFields () |
|
| _getLoadSelect ($field, $value, $object) |
|
| _afterLoad (\Magento\Framework\Model\AbstractModel $object) |
|
| _afterSave (\Magento\Framework\Model\AbstractModel $object) |
|
| processRatingCodes (\Magento\Framework\Model\AbstractModel $object) |
|
| processRatingStores (\Magento\Framework\Model\AbstractModel $object) |
|
| deleteRatingData ($ratingId, $table, array $storeIds) |
|
| insertRatingData ($table, array $data) |
|
| _afterDelete (\Magento\Framework\Model\AbstractModel $object) |
|
| _getEntitySummaryData ($object) |
|
| _init ($mainTable, $idFieldName) |
|
| _setResource ($connections, $tables=null) |
|
| _setMainTable ($mainTable, $idFieldName=null) |
|
| _getConnection ($resourceName) |
|
| _getLoadSelect ($field, $value, $object) |
|
| _initUniqueFields () |
|
| _prepareDataForSave (\Magento\Framework\Model\AbstractModel $object) |
|
| _prepareValueForSave ($value, $type) |
|
| _checkUnique (\Magento\Framework\Model\AbstractModel $object) |
|
| _afterLoad (\Magento\Framework\Model\AbstractModel $object) |
|
| _beforeSave (\Magento\Framework\Model\AbstractModel $object) |
|
| _afterSave (\Magento\Framework\Model\AbstractModel $object) |
|
| _beforeDelete (\Magento\Framework\Model\AbstractModel $object) |
|
| _afterDelete (\Magento\Framework\Model\AbstractModel $object) |
|
| _serializeFields (\Magento\Framework\Model\AbstractModel $object) |
|
| prepareDataForUpdate ($object) |
|
| isObjectNotNew (\Magento\Framework\Model\AbstractModel $object) |
|
| saveNewObject (\Magento\Framework\Model\AbstractModel $object) |
|
| updateObject (\Magento\Framework\Model\AbstractModel $object) |
|
| processAfterSaves (\Magento\Framework\Model\AbstractModel $object) |
|
| isModified (\Magento\Framework\Model\AbstractModel $object) |
|
| processNotModifiedSave (\Magento\Framework\Model\AbstractModel $object) |
|
| _construct () |
|
| _serializeField (DataObject $object, $field, $defaultValue=null, $unsetEmpty=false) |
|
| _unserializeField (DataObject $object, $field, $defaultValue=null) |
|
| _prepareDataForTable (DataObject $object, $table) |
|
| _prepareTableValueForSave ($value, $type) |
|
| _getColumnsForEntityLoad (\Magento\Framework\Model\AbstractModel $object, $tableName) |
|
| getSerializer () |
|
◆ __construct()
- Parameters
-
\Magento\Framework\Model\ResourceModel\Db\Context | $context | |
\Psr\Log\LoggerInterface | $logger | |
\Magento\Framework\Module\Manager | $moduleManager | |
\Magento\Store\Model\StoreManagerInterface | $storeManager | |
\Magento\Review\Model\ResourceModel\Review\Summary | $reviewSummary | |
string | $connectionName | |
Definition at line 45 of file Rating.php.
56 $this->_reviewSummary = $reviewSummary;
◆ _afterDelete()
Perform actions after object delete Prepare rating data for reaggregate all data for reviews
- Parameters
-
\Magento\Framework\Model\AbstractModel | $object | |
- Returns
- $this
Definition at line 277 of file Rating.php.
279 parent::_afterDelete($object);
280 if (!$this->moduleManager->isEnabled(
'Magento_Review')) {
286 $clone = clone $object;
287 $clone->addData(
$row);
288 $summary[$clone->getStoreId()][$clone->getEntityPkValue()] = $clone;
290 $this->_reviewSummary->reAggregate($summary);
_getEntitySummaryData($object)
◆ _afterLoad()
Actions after load
- Parameters
-
\Magento\Framework\Model\AbstractModel | \Magento\Review\Model\Rating | $object | |
- Returns
- $this
Definition at line 113 of file Rating.php.
115 parent::_afterLoad($object);
117 if (!$object->getId()) {
122 $bind = [
':rating_id' => (int)$object->getId()];
126 [
'store_id',
'value']
128 'rating_id=:rating_id' 133 $object->setRatingCodes(
$result);
137 $object->setStores($this->
getStores((
int)$object->getId()));
◆ _afterSave()
Actions after save
- Parameters
-
\Magento\Framework\Model\AbstractModel | \Magento\Review\Model\Rating | $object | |
- Returns
- $this
Definition at line 166 of file Rating.php.
168 parent::_afterSave($object);
169 if ($object->hasRatingCodes()) {
173 if ($object->hasStores()) {
processRatingStores(\Magento\Framework\Model\AbstractModel $object)
processRatingCodes(\Magento\Framework\Model\AbstractModel $object)
◆ _construct()
Resource initialization
- Returns
- void
Definition at line 65 of file Rating.php.
67 $this->
_init(
'rating',
'rating_id');
_init($mainTable, $idFieldName)
◆ _getEntitySummaryData()
_getEntitySummaryData |
( |
|
$object | ) |
|
|
protected |
Return data of rating summary
- Parameters
-
\Magento\Review\Model\Rating | $object | |
- Returns
- array
Definition at line 342 of file Rating.php.
346 $sumColumn = new \Zend_Db_Expr(
"SUM(rating_vote.{$connection->quoteIdentifier('percent')})");
347 $countColumn = new \Zend_Db_Expr(
"COUNT(*)");
350 [
'rating_vote' => $this->
getTable(
'rating_option_vote')],
351 [
'entity_pk_value' =>
'rating_vote.entity_pk_value',
'sum' => $sumColumn,
'count' => $countColumn]
353 [
'review' => $this->
getTable(
'review')],
354 'rating_vote.review_id=review.review_id',
357 [
'review_store' => $this->
getTable(
'review_store')],
358 'rating_vote.review_id=review_store.review_id',
359 [
'review_store.store_id']
361 if (!$this->_storeManager->isSingleStoreMode()) {
363 [
'rating_store' => $this->
getTable(
'rating_store')],
364 'rating_store.rating_id = rating_vote.rating_id AND rating_store.store_id = review_store.store_id',
369 [
'review_status' => $this->
getTable(
'review_status')],
370 'review.status_id = review_status.status_id',
373 'review_status.status_code = :status_code' 375 'rating_vote.entity_pk_value' 377 'review_store.store_id' 381 $entityPkValue = $object->getEntityPkValue();
382 if ($entityPkValue) {
383 $select->where(
'rating_vote.entity_pk_value = :pk_value');
384 $bind[
':pk_value'] = $entityPkValue;
const RATING_STATUS_APPROVED
◆ _getLoadSelect()
_getLoadSelect |
( |
|
$field, |
|
|
|
$value, |
|
|
|
$object |
|
) |
| |
|
protected |
Retrieve select object for load object data
- Parameters
-
string | $field | |
mixed | $value | |
\Magento\Review\Model\Rating | $object | |
- Returns
- \Magento\Framework\DB\Select
Definition at line 89 of file Rating.php.
96 $codeExpr =
$connection->getIfNullSql(
'title.value',
"{$table}.rating_code");
99 [
'title' => $this->
getTable(
'rating_title')],
100 $connection->quoteInto(
"{$table}.rating_id = title.rating_id AND title.store_id = ?",
$storeId),
101 [
'rating_code' => $codeExpr]
◆ _initUniqueFields()
Initialize unique fields
- Returns
- $this
Definition at line 75 of file Rating.php.
77 $this->_uniqueFields = [[
'field' =>
'rating_code',
'title' =>
'']];
◆ deleteAggregatedRatingsByProductId()
deleteAggregatedRatingsByProductId |
( |
|
$productId | ) |
|
Delete ratings by product id
- Parameters
-
- Returns
- $this
Definition at line 486 of file Rating.php.
494 $where = [
'entity_pk_value = ?' => (int)
$productId,
'rating_id IN(?)' => $ratingIds];
getEntityIdByCode($entityCode)
const ENTITY_PRODUCT_CODE
◆ deleteRatingData()
deleteRatingData |
( |
|
$ratingId, |
|
|
|
$table, |
|
|
array |
$storeIds |
|
) |
| |
|
protected |
- Parameters
-
int | $ratingId | |
string | $table | |
array | $storeIds | |
- Returns
- void
Definition at line 232 of file Rating.php.
234 if (empty($storeIds)) {
240 $where = [
'rating_id = ?' => $ratingId,
'store_id IN(?)' => $storeIds];
243 }
catch (\Exception $e) {
244 $this->_logger->critical($e);
◆ getEntityIdByCode()
getEntityIdByCode |
( |
|
$entityCode | ) |
|
Get rating entity type id by code
- Parameters
-
- Returns
- int
Definition at line 468 of file Rating.php.
474 'entity_code = :entity_code'
◆ getEntitySummary()
getEntitySummary |
( |
|
$object, |
|
|
|
$onlyForCurrentStore = true |
|
) |
| |
Return array of rating summary
- Parameters
-
\Magento\Review\Model\Rating | $object | |
boolean | $onlyForCurrentStore | |
- Returns
- array
Definition at line 301 of file Rating.php.
305 if ($onlyForCurrentStore) {
307 if (
$row[
'store_id'] == $this->_storeManager->getStore()->getId()) {
308 $object->addData(
$row);
314 $stores = $this->_storeManager->getStores();
318 $clone = clone $object;
319 $clone->addData(
$row);
320 $result[$clone->getStoreId()] = $clone;
323 $usedStoresId = array_keys(
$result);
325 if (!in_array(
$store->getId(), $usedStoresId)) {
326 $clone = clone $object;
329 $clone->setStoreId(
$store->getId());
_getEntitySummaryData($object)
◆ getReviewSummary()
getReviewSummary |
( |
|
$object, |
|
|
|
$onlyForCurrentStore = true |
|
) |
| |
Review summary
- Parameters
-
\Magento\Review\Model\Rating | $object | |
boolean | $onlyForCurrentStore | |
- Returns
- array
Definition at line 397 of file Rating.php.
401 $sumColumn = new \Zend_Db_Expr(
"SUM(rating_vote.{$connection->quoteIdentifier('percent')})");
402 $countColumn = new \Zend_Db_Expr(
'COUNT(*)');
404 [
'rating_vote' => $this->
getTable(
'rating_option_vote')],
405 [
'sum' => $sumColumn,
'count' => $countColumn]
407 [
'review_store' => $this->
getTable(
'review_store')],
408 'rating_vote.review_id = review_store.review_id',
409 [
'review_store.store_id']
411 if (!$this->_storeManager->isSingleStoreMode()) {
413 [
'rating_store' => $this->
getTable(
'rating_store')],
414 'rating_store.rating_id = rating_vote.rating_id AND rating_store.store_id = review_store.store_id',
419 'rating_vote.review_id = :review_id' 421 'rating_vote.review_id' 423 'review_store.store_id' 428 if ($onlyForCurrentStore) {
430 if (
$row[
'store_id'] == $this->_storeManager->getStore()->getId()) {
431 $object->addData(
$row);
439 $stores = $this->_storeManager->getStore()->getResourceCollection()->load();
442 $clone = clone $object;
443 $clone->addData(
$row);
444 $result[$clone->getStoreId()] = $clone;
447 $usedStoresId = array_keys(
$result);
450 if (!in_array(
$store->getId(), $usedStoresId)) {
451 $clone = clone $object;
454 $clone->setStoreId(
$store->getId());
◆ getStores()
Retrieve store IDs related to given rating
- Parameters
-
- Returns
- array
Definition at line 148 of file Rating.php.
◆ insertRatingData()
insertRatingData |
( |
|
$table, |
|
|
array |
$data |
|
) |
| |
|
protected |
- Parameters
-
- Returns
- void
Definition at line 254 of file Rating.php.
264 }
catch (\Exception $e) {
265 $this->_logger->critical($e);
◆ processRatingCodes()
- Parameters
-
\Magento\Framework\Model\AbstractModel | $object | |
- Returns
- $this
Definition at line 184 of file Rating.php.
187 $ratingId = (int)$object->getId();
190 ->where(
'rating_id = :rating_id');
192 $new = array_filter(array_map(
'trim', $object->getRatingCodes()));
197 $insert[] = [
'rating_id' => $ratingId,
'store_id' => (int)
$storeId,
'value' =>
$title];
insertRatingData($table, array $data)
deleteRatingData($ratingId, $table, array $storeIds)
◆ processRatingStores()
- Parameters
-
\Magento\Framework\Model\AbstractModel | $object | |
- Returns
- $this
Definition at line 207 of file Rating.php.
210 $ratingId = (int)$object->getId();
213 ->where(
'rating_id = :rating_id');
215 $new = $object->getStores();
220 $insert[] = [
'rating_id' => $ratingId,
'store_id' => (int)
$storeId];
insertRatingData($table, array $data)
deleteRatingData($ratingId, $table, array $storeIds)
◆ $_logger
◆ $_storeManager
◆ $moduleManager
◆ RATING_STATUS_APPROVED
const RATING_STATUS_APPROVED = 'Approved' |
The documentation for this class was generated from the following file:
- vendor/magento/module-review/Model/ResourceModel/Rating.php