如何通过客户电话过滤订单集合?

时间:2016-08-29 09:13:30

标签: magento magento-1.7 magento-1.9 magento-1.8

如何根据客户电话号码过滤订单集合? 这是我的尝试:

$orders = Mage::getModel('sales/order')->getCollection()
->addAttributeToFilter('customer_phone', array('like' => '%' . $_POST['filter_client_phone'] . '%'))->load();

另外,我如何根据订单的送货信息按某些属性过滤订单收集?

2 个答案:

答案 0 :(得分:0)

尝试一下:

Mage::getModel('sales/order')
            ->getCollection()
            ->addAddressFields()
            ->addAttributeToFilter('billing_telephone', $_POST['filter_client_phone'])

注意:如果您要使用送货地址电话进行过滤,请使用shipping_telephone

答案 1 :(得分:-1)

您可以使用以下查询过滤订单集合 $addressTable=Mage::getSingleton("core/resource")->getTableName("sales/order_address"); $orders = Mage::getModel('sales/order')->getCollection(); $select=$orders->getSelect()->joinLeft(array('oa'=>$addressTable),'oa.parent_id=main_table.entity_id') ->where('oa.address_type=?','shipping') ->where('oa.telephone LIKE ?','%' . $_POST['filter_client_phone'] . '%');