Magento通过名字搜索客户

时间:2013-02-26 06:45:21

标签: php e-commerce magento-1.7

我正在创建一个magento扩展,我需要在他们的名字上搜索客户。我知道我可以在sql的帮助下完成它。但我想使用magento的客户模型来完成工作。

我已经使用了这个并且它返回了一个包含所有用户的数组,但是我希望特定用户符合标准而不是所有用户。

$collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');

2 个答案:

答案 0 :(得分:3)

你必须使用addAttributeToFilter方法,它就像一个简单的WHERE子句一样,你也可以使用通配符。

<?php
include 'app/Mage.php';
Mage::app();

$query = "John";

$model = Mage::getSingleton('customer/customer');

$result = $model->getCollection()
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('firstname', array('like' => "%$query%"));

foreach($result as $r) 
{       
        $customer = $model->load($r->getId());
        echo '<b>'.$customer->getFirstname().' '.$customer->getLastname().'</b><br/>';
}

答案 1 :(得分:1)

$c = Mage::getModel('customer/customer')->getCollection()->addAttributeToFilter('first_name', array('like' => $the_name_you_want_to_find))