【问题标题】:How to filter orders collection by customer phone?如何通过客户电话过滤订单收集?
【发布时间】:2017-01-05 06:18:52
【问题描述】:

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

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

另外,我如何从订单的运输信息中通过某些属性过滤订单集合?

【问题讨论】:

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


    【解决方案1】:

    试试这个:

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

    注意:如果要过滤收货地址电话,请使用shipping_telephone

    【讨论】:

      【解决方案2】:

      您可以使用以下查询过滤订单集合 $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'] . '%');

      【讨论】:

        猜你喜欢
        • 2022-11-30
        • 2014-07-22
        • 2019-06-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-11-10
        • 1970-01-01
        相关资源
        最近更新 更多