0

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

我已经使用了它,它返回一个包含所有用户的数组,但我想要的不是所有用户,而是符合条件的特定用户。

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

2 回答 2

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/>';
}
于 2013-02-26T09:23:25.497 回答
1

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

于 2013-02-26T07:15:52.327 回答