Получить полную информацию о сборе заказов в Magento 2

Чтобы получить полную информацию о коллекции заказов в Magento 2, вы можете использовать различные методы и приемы. Вот некоторые из часто используемых подходов:

  1. Использование хранилища заказов:

    use Magento\Sales\Api\OrderRepositoryInterface;
    // Inject the OrderRepositoryInterface dependency
    public function __construct(OrderRepositoryInterface $orderRepository)
    {
    $this->orderRepository = $orderRepository;
    }
    // Load order by increment ID
    public function getOrderDetails($orderIncrementId)
    {
    $order = $this->orderRepository->get($orderIncrementId);
    // Access order details
    $orderId = $order->getEntityId();
    $customerName = $order->getCustomerName();
    // ...
    }
  2. Использование фабрики сбора заказов:

    use Magento\Sales\Model\ResourceModel\Order\CollectionFactory;
    // Inject the CollectionFactory dependency
    public function __construct(CollectionFactory $orderCollectionFactory)
    {
    $this->orderCollectionFactory = $orderCollectionFactory;
    }
    // Load order collection and retrieve order details
    public function getOrderCollectionDetails()
    {
    $orderCollection = $this->orderCollectionFactory->create();
    $orderCollection->addFieldToSelect('*'); // Select all fields
    // Apply filters or sorting if needed
    // ...
    foreach ($orderCollection as $order) {
        $orderId = $order->getId();
        $customerName = $order->getCustomerName();
        // ...
    }
    }
  3. Использование диспетчера объектов (не рекомендуется):

    use Magento\Framework\App\ObjectManager;
    $order = ObjectManager::getInstance()->create('Magento\Sales\Model\Order')->load($orderId);
    $customerName = $order->getCustomerName();
    // ...

Помните, что обычно рекомендуется использовать внедрение зависимостей и соответствующие классы Magento 2 вместо того, чтобы напрямую полагаться на диспетчер объектов.