Magento简单的EAV数据查询

因为Magento使用了EAV数据模型,所以你几乎不能够使用原始的SQL进行查询数据对象集(Collection),这里提供一个简单的方法去查询你想要的数据。

$products = Mage::getModel('catalog/product')->getCollection();
$products->addAttributeToFilter('sku', '8888');
$products->addAttributeToSelect('*');
$products->load();
foreach ($products as $_product) {
    print_r($_product->getData());
}

希望这段代码可以帮助你,这里还有一个关于addAttributeToFilter方法的介绍。

http://docs.magentocommerce.com/Varien/Varien_Data/Varien_Data_Collection_Db.html#_getConditionSql

再写段查询单条数据的代码,下面是个获取用户地址的方法:

 
customer_address_save_before_listener ($event)
{
  $address = $event->getCustomerAddress();
 
  $database_address = Mage::getModel('customer/address')->load($address->getId());
}
    • Nature
    • 10月 11th, 2010 2:46am

    在列表页以及搜索页无法获取自定义的属性, 想知道有什么方法可以获取, 我不知道是不是弄错了~使用你上面那些代码, 页面会出错

    • 精东
    • 10月 13th, 2010 2:10pm

    你可以试试 $product = Mage::getModel(‘catalog/product’)->load($id); $product->getData(‘你的属性名’);

  1. 还没有引用通告。