我正在创建一个magento扩展,我需要在他们的名字上搜索客户。我知道我可以在sql的帮助下完成它。但我想使用magento的客户模型来完成工作。
我已经使用了这个并且它返回了一个包含所有用户的数组,但是我希望特定用户符合标准而不是所有用户。
$collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');
答案 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))