繁体   English   中英

Magento快速getResourceModel问题

[英]Magento quick getResourceModel question

用这行代码调用什么类(如果有的话)?

Mage::getResourceModel('sales/order_invoice_collection')

本质上,我试图找出使用此资源模型访问的数据库表以及如何调整它。谢谢!

你要找的课是这样的:

Mage_Sales_Model_Mysql4_Order_Invoice_Collection

位于app/code/core/Mage/Sales/Model/Mysql4/Order/Invoice/Collection.php

如果您查看销售模块app/code/core/Mage/Sales/etc/config.xml ,您可以在资源模型的定义中看到表名:

<config>
    <global>
        <models>
            <sales_mysql4>
                <entities>
                    ...
                    <invoice><table>sales_flat_invoice</table></invoice>
                    ...
                </entities>
            </sales_mysql4>
        </models>
    </global>
</config>

要了解有关Magento如何与数据库交互的更多信息,您应该阅读有关模型,资源模型和集合的信息:

http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-5-magento-models-and-orm-b​​asics

试试这个来获得一个声明产生的类:

$obj = Mage::getResourceModel('sales/order_invoice_collection');
print get_class($obj);

在这种情况下,它正在加载

code/Core/Mage/Sales/Model/Mysql4/Order/Invoice/Collection.php 

这是班级名称:

Mage_Sales_Model_Mysql4_Order_Invoice_Collection

这可以通过查看config.xml来确定:

code/Core/Mage/Sales/etc/config.xml. 

在模型标签下面是sales标签,您可以在字符串中的斜线之前从'sales'中获知。 在那里它将资源模型定义为sales_mysql4。 所以,如果你打电话:

Mage::getResourceModel('module/everything_else')

加载的文件将是:

Module/Model/{contents of resourceModel tag}/Everything/Else.php

希望有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM