【发布时间】:2014-04-02 16:40:57
【问题描述】:
我正在构建一个自定义模块,我正在尝试获取具有特定状态的所有订单:
$canceledQuery = Mage::getSingleton('core/resource')->getConnection('core_read')->select()
->from('mage_sales_flat_order', 'entity_id')
->where('status = ?', 'canceled');
这很好用。但现在我正在尝试在 where 中使用 OR,但没有成功。 我一直在尝试这个:
$whereCanceled = array();
foreach ($_status as $statusCode => $value) {
$whereCanceled[] = sprintf('%s=:%s', 'status', $statusCode);
}
$ordersQuery = Mage::getSingleton('core/resource')->getConnection('core_read')->select()
->from('mage_sales_flat_order', 'entity_id')
->where(implode(' OR ', $whereCanceled));
所以,我不知道在这种情况下如何正确使用 OR。我发现这对 OR 没有用。有什么想法吗?
【问题讨论】:
-
你的代码有什么问题?
-
不起作用。我尝试了许多查询,其中一种状态成功,然后我使用 implode 来获取所有结果,只是返回空。
标签: sql magento collections orders