如何在Magento单自定义模块中使用多个数据库表

如何在Magento单自定义模块中使用多个数据库表,第1张

您好,很高兴为您解答。

参考博客:http://blog.csdn.net/acmain_chm/article/details/5125291

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

在写插件时,有的用户安装magento时设置了表的前缀,而有的用户没有,如果直接把表名写死在那,是不正确的。

magento提供了获取表名的的一个方法

$tableName

=

Mage::getSingleton('core/resource')->getTableName('默认表名')

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()方法后使用链式方法调用。这样在模板文件中就能正常打印数据了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10648114.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存