1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Sales\Model\ResourceModel\Order\Collection;
- /**
- * Flat sales order collection
- *
- * @author Magento Core Team <core@magentocommerce.com>
- */
- abstract class AbstractCollection extends \Magento\Sales\Model\ResourceModel\Collection\AbstractCollection
- {
- /**
- * Order object
- *
- * @var \Magento\Sales\Model\Order
- */
- protected $_salesOrder = null;
- /**
- * Order field for setOrderFilter
- *
- * @var string
- */
- protected $_orderField = 'parent_id';
- /**
- * Set sales order model as parent collection object
- *
- * @param \Magento\Sales\Model\Order $order
- * @return $this
- */
- public function setSalesOrder($order)
- {
- $this->_salesOrder = $order;
- if ($this->_eventPrefix && $this->_eventObject) {
- $this->_eventManager->dispatch(
- $this->_eventPrefix . '_set_sales_order',
- ['collection' => $this, $this->_eventObject => $this, 'order' => $order]
- );
- }
- return $this;
- }
- /**
- * Retrieve sales order as parent collection object
- *
- * @return \Magento\Sales\Model\Order|null
- */
- public function getSalesOrder()
- {
- return $this->_salesOrder;
- }
- /**
- * Add order filter
- *
- * @param int|\Magento\Sales\Model\Order|array $order
- * @return $this
- */
- public function setOrderFilter($order)
- {
- if ($order instanceof \Magento\Sales\Model\Order) {
- $this->setSalesOrder($order);
- $orderId = $order->getId();
- if ($orderId) {
- $this->addFieldToFilter($this->_orderField, $orderId);
- } else {
- $this->_totalRecords = 0;
- $this->_setIsLoaded(true);
- }
- } else {
- $this->addFieldToFilter($this->_orderField, $order);
- }
- return $this;
- }
- }
|