跨境电商
经验交流分享

Magento数据库多表联查之join

Magento的数据读取是强大,但是封装的太深,太抽象。一天时间,就为了解决这个问题。一直没有在意方法的返回值。链式语句无法获取数据,却能正常打印SQL语句,并且该SQL语句在数据库中直接运行完美!

[php]
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;
}
[/php]

在该方法中,getSelect()不能直接在getCollection()方法后使用链式方法调用。这样在模板文件中就能正常打印数据了。就这一个小细节昨天晚上都给埋进去了。最后还是在Stack Overflow上找到了答案。不过对于Magento的数据调用来说,算是找到了一条路子。

赞(0)
未经允许不得转载:锐想 » Magento数据库多表联查之join
分享到: 更多 (0)

评论 1

评论前必须登录!

 

  1. #1

    就是说$orders = Mage::getModel(‘sales/order’)->getCollection()->getSelect()这样是错误的?

    zeojon7年前 (2011-12-30)

锐想电商 - 跨境电商经验交流分享

锐想无限