gpt4 book ai didi

magento - 在 Magento 中获取特定订单中的产品数量

转载 作者:行者123 更新时间:2023-12-04 05:38:41 26 4
gpt4 key购买 nike

我想请您提供一些信息,以帮助我解决我的问题。
我的目的是从 Magento 数据库中获取每个订单中的特定产品数量(订单必须处于确切的定义状态)。我使用独立于 Magento 的批处理/脚本,但使用 Mage:app。我不知道我是应该从模型开始(这似乎是合乎逻辑的方法,但同时速度很慢)还是直接在数据库上工作(这更困难)。

谢谢你的任何建议。

问候,

最佳答案

查询数据库并不复杂:

   SELECT * 
FROM sales_flat_order o
LEFT JOIN sales_flat_order_item i ON o.entity_id = i.order_id
WHERE o.status IN ('pending', 'processing')
AND i.product_id = <YOUR_PRODUCT_ID>
total_qty_ordered结果中的字段将表示订购数量。

通过模型获取订购的物品数量也不重:
<?php

require_once('app/Mage.php');
umask(0);
Mage::app('default');

$core_resource = Mage::getSingleton('core/resource');
$orders = Mage::getResourceModel('sales/order_collection');
$orders->getSelect()->joinLeft(array('ordered_products' => $core_resource->getTableName('sales/order_item')), 'main_table.entity_id = ordered_products.order_id', array('ordered_products.*'));
$orders->addAttributeToSelect('*')
->addFieldToFilter('status', array('in' => array('pending', 'processing')))
->addAttributeToFilter('main_table.store_id', Mage::app()->getStore()->getId())
->addAttributeToFilter('ordered_products.product_id', array('eq' => '2'));
foreach($orders as $order) {
echo 'Order #' . $order->getId() . ': ' . $order->getData('total_qty_ordered') . '<br/>';
}

第一种方法可能更快,但第二种方法是 Magneto-Upgrade-Safe。所以你决定使用哪种方法。

关于magento - 在 Magento 中获取特定订单中的产品数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11577560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com