我正在创建一个 magento 扩展,我需要根据他们的名字搜索客户。我知道我可以在 sql 的帮助下做到这一点。但我想使用magento的客户模型来完成这项工作。
我已经使用了它,它返回一个包含所有用户的数组,但我想要的不是所有用户,而是符合条件的特定用户。
$collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');
我正在创建一个 magento 扩展,我需要根据他们的名字搜索客户。我知道我可以在 sql 的帮助下做到这一点。但我想使用magento的客户模型来完成这项工作。
我已经使用了它,它返回一个包含所有用户的数组,但我想要的不是所有用户,而是符合条件的特定用户。
$collection = Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');
您必须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/>';
}
$c = Mage::getModel('customer/customer')->getCollection()->addAttributeToFilter('first_name', array('like' => $the_name_you_want_to_find))