/** * Return Purchased link for order item * * @return \Magento\Downloadable\Model\Link\Purchased */ public function getLinks() { $this->_purchasedLinks = $this->_purchasedFactory->create()->load($this->getOrder()->getId(), 'order_id'); $purchasedItems = $this->_itemsFactory->create()->addFieldToFilter('order_item_id', $this->getItem()->getOrderItem()->getId()); $this->_purchasedLinks->setPurchasedItems($purchasedItems); return $this->_purchasedLinks; }
/** * Class constructor * * @return void */ protected function _construct() { parent::_construct(); $purchased = $this->_linksFactory->create()->addFieldToFilter('customer_id', $this->currentCustomer->getCustomerId())->addOrder('created_at', 'desc'); $this->setPurchased($purchased); $purchasedIds = []; foreach ($purchased as $_item) { $purchasedIds[] = $_item->getId(); } if (empty($purchasedIds)) { $purchasedIds = [null]; } $purchasedItems = $this->_itemsFactory->create()->addFieldToFilter('purchased_id', ['in' => $purchasedIds])->addFieldToFilter('status', ['nin' => [Item::LINK_STATUS_PENDING_PAYMENT, Item::LINK_STATUS_PAYMENT_REVIEW]])->setOrder('item_id', 'desc'); $this->setItems($purchasedItems); }
/** * @return \Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\Collection */ protected function _createItemsCollection() { return $this->_itemsFactory->create(); }