SELECT sales_flat_order.increment_id AS 'order', sales_flat_invoice.increment_id AS 'invoice'
FROM sales_flat_order
RIGHT JOIN sales_flat_invoice ON sales_flat_invoice.order_id = sales_flat_order.entity_id
WHERE sales_flat_invoice.updated_at >= "2011-07-01 00:00:00"
ORDER BY sales_flat_order.increment_id DESC
6条答案
按热度按时间h9vpoimq1#
既然你想用这个来运输,你可能想问一下处理你运输的人,他们是否有某种API,这样你就可以构建/购买/下载一个合适的运输模块,免去你摆弄CSV文件的麻烦。
如果你真的想要一个CSV文件,我可以告诉你如何创建它。你没有提到这个脚本将在哪里运行,所以我假设它是一个外部脚本(这将使它更容易与cron作业一起使用)。
为了简洁起见,我没有列出所有可用的订单信息,您可以通过转储相关对象并查看其字段来找出哪些字段可用。
例如,如果您要执行print_r($myOrder-〉getBillingAddress());你会看到像“地址类型”和“姓氏”这样的字段,你可以分别在$myOrder-〉getBillingAddress()-〉getAddress_type()和$myOrder-〉getBillingAddress()-〉getLastname()中使用它们。
编辑:根据克雷格.michael.morris的回答更改了代码
ttp71kqs2#
我在实现您的解决方案的过程中,注意到它只返回所有外键的第一个值,如帐单地址、送货地址、付款方式等...
这可以通过更改
$myOrder-〉加载($thisId);
到
$myOrder-〉重置()-〉加载($thisId);
rsl1atfo3#
您可能也想看看这个扩展:http://www.magentocommerce.com/extension/1158/manual-order-export
您也可以通过SOAP连接:这个例子是为localhost设置的,假设你已经在admin中的system〉〉web services下设置了一个web services用户和角色。
omvjsjqw4#
如果这对任何人都有帮助,你可以使用发票表作为一个关键字.在magento中的发票与auth+capture信用卡设置意味着钱已经进来了.在我们的情况下,我们只需要一个sql查询运行在phpmyadmin中,它将导出订单号和发票号,让我们进行协调,以检查从xtento的订单导出扩展是否工作.这是我们使用的:
rslzwgfq5#
如果系统不支持任何直接导出订单的方式,您可以在数据库中创建一个视图,列出您需要导出的订单,然后使用类似phpMyAdmin的命令将视图中的数据导出为CSV。
sirbozc56#
Saho关于使用SOAP的建议非常好,但是可能要花很长时间(Apache只能分配有限的CPU资源来处理该请求)
建议你写一个php脚本,然后通过终端运行它。
索南