Skip to main content

Delete Magento orders older than 2022 for guest customers

Delete  Magento orders older than 2022 for guest customers

 

  /** @var \Magento\Sales\Model\ResourceModel\Order\CollectionFactory $orderCollectionFactory */
        $orderCollectionFactory =  $this->objectManager->get(\Magento\Sales\Model\ResourceModel\Order\CollectionFactory::class);

// Build the collection
        $orderCollection = $orderCollectionFactory->create()
            ->addFieldToFilter('created_at', ['lt' => '2022-01-01'])
            ->addFieldToFilter('customer_id', ['null' => true]);

        $orderCollection->setPageSize(10000);
// Display results (for testing purposes)
        foreach ($orderCollection as $order) {
            $order->delete();
            echo "Order ID: " . $order->getId() . PHP_EOL;
            echo "Created At: " . $order->getCreatedAt() . PHP_EOL;
            echo "Customer ID: " . $order->getCustomerId() . PHP_EOL;
            echo "-------------- -----------------------".PHP_EOL;
        }
        echo $orderCollection->getSize();

Tags