默认情况下,EAV Collection不会包含所有的对象属性。可以通过addAttributeToSelect()方法添加选取的属性。
但是呢,即使你通过此方法查询EAV属性的数据
$collection=Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*')->getData();
你会发现这样做获取的仅仅是EAV主表(非键值对排列的表)的数据,那么如何获取到EAV实体的所有属性数据呢?
通过实践发现下边的方案是能够返回实体的所有属性值。
public function getCustomerData(){
$collection=Mage::getModel('customer/customer')->getCollection()->addAttributeToSelect('*');
$data = array();
foreach ($collection as $customer) {
$data = $customer->toArray();
}
return $data;
}