【问题标题】:Magento Get list of Orders which contains deleted productsMagento 获取包含已删除产品的订单列表
【发布时间】:2016-05-24 15:16:21
【问题描述】:

我想从我们的 Magento 存储数据库中删除陈旧的数据。
它当前包含具有从系统中删除的产品的订单。
我如何检索此类订单的数据,如果需要,我如何能够删除这些订单?

【问题讨论】:

    标签: php magento-1.9 orders


    【解决方案1】:

    您可以使用以下代码删除甚至不再存在单个产品/项目的订单:-

    <?php
    
    ini_set('display_errors', 1);
    require_once 'app/Mage.php';
    Mage::app();
    Mage::register('isSecureArea', true);
    
    $orders = Mage::getModel('sales/order')->getCollection();
    
    
    foreach ($orders as $order) {
        $item_ids = $order->getAllItems();
    
        foreach ($item_ids as $item) {
            $product = Mage::getModel('catalog/product')->load($item->getProductId());
    
            $product_id = $product->getData('entity_id');
    
            if (!$product_id) {
                $order->delete();
                remove($order->getId());
            }
        }
    }
    
    function remove($order_id) {
        $resource = Mage::getSingleton('core/resource');
        $delete = $resource->getConnection('core_read');
        $order_table = $resource->getTableName('sales_flat_order_grid');
        $invoice_table = $resource->getTableName('sales_flat_invoice_grid');
        $shipment_table = $resource->getTableName('sales_flat_shipment_grid');
        $creditmemo_table = $resource->getTableName('sales_flat_creditmemo_grid');
        $sql = "DELETE FROM  " . $order_table . " WHERE entity_id = " . $order_id . ";";
        $delete->query($sql);
        $sql = "DELETE FROM  " . $invoice_table . " WHERE order_id = " . $order_id . ";";
        $delete->query($sql);
        $sql = "DELETE FROM  " . $shipment_table . " WHERE order_id = " . $order_id . ";";
        $delete->query($sql);
        $sql = "DELETE FROM  " . $creditmemo_table . " WHERE order_id = " . $order_id . ";";
        $delete->query($sql);
    
        return true;
    }
    

    【讨论】:

    • 我会检查并告诉你..谢谢.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-08
    • 2019-02-02
    • 1970-01-01
    • 2012-09-16
    相关资源
    最近更新 更多