![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-wishlist/Model/ResourceModel/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ /** * Wishlist item model resource * * @author Magento Core Team <[email protected]> */ namespace Magento\Wishlist\Model\ResourceModel; /** * @api * @since 100.0.2 */ class Item extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { /** * Initialize connection and define main table * * @return void */ protected function _construct() { $this->_init('wishlist_item', 'wishlist_item_id'); } /** * Load item by wishlist, product and shared stores * * @param \Magento\Wishlist\Model\Item $object * @param int $wishlistId * @param int $productId * @param array $sharedStores * @return $this */ public function loadByProductWishlist($object, $wishlistId, $productId, $sharedStores) { $connection = $this->getConnection(); $storeWhere = $connection->quoteInto('store_id IN (?)', $sharedStores); $select = $connection->select()->from( $this->getMainTable() )->where( 'wishlist_id=:wishlist_id AND ' . 'product_id=:product_id AND ' . $storeWhere ); $bind = ['wishlist_id' => $wishlistId, 'product_id' => $productId]; $data = $connection->fetchRow($select, $bind); if ($data) { $object->setData($data); } $this->_afterLoad($object); return $this; } /** * {@inheritdoc} */ public function save(\Magento\Framework\Model\AbstractModel $object) { $hasDataChanges = $object->hasDataChanges(); $object->setIsOptionsSaved(false); $result = parent::save($object); if ($hasDataChanges && !$object->isOptionsSaved()) { $object->saveItemOptions(); } return $result; } }