Search code examples
phpdatabasemagentomage

Magento quick getResourceModel question


What class (if any) is called with this line of code?

Mage::getResourceModel('sales/order_invoice_collection')

Essentially I"m trying to figure out what database table is accessed with this resource model and how I can tweak that. Thanks!


Solution

  • The class you are looking for is this:

    Mage_Sales_Model_Mysql4_Order_Invoice_Collection
    

    located in app/code/core/Mage/Sales/Model/Mysql4/Order/Invoice/Collection.php.

    If you take a look at the configuration for the sales module app/code/core/Mage/Sales/etc/config.xml, you can see the table name in the definition of the resource models:

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

    To learn more about how Magento interacts with the database, you should read about models, resource models, and collections:

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