Magento的数据读取是强大,但是封装的太深,太抽象。一天时间,就为了解决这个问题。一直没有在意方法的返回值。链式语句无法获取数据,却能正常打印SQL语句,并且该SQL语句在数据库中直接运行完美!
public function getOrderCollection() {
$orders = Mage::getModel('sales/order')->getCollection();
$orders->getSelect()
->join(
array('itemz' => Mage::getSingleton('core/resource')->getTableName('sales/order_item')),
'main_table.entity_id = itemz.order_id',
array('itemz.*')
);
return $orders;
}
在该方法中,getSelect()不能直接在getCollection()方法后使用链式方法调用。这样在模板文件中就能正常打印数据了。就这一个小细节昨天晚上都给埋进去了。最后还是在Stack Overflow上找到了答案。不过对于Magento的数据调用来说,算是找到了一条路子。