Programmatically: How to use Magento's resource models
Step 1: Create a resource model for your entity
In your module's etc/di.xml file, add the following code to define the resource model:
MyModule_Model_Resource_MyEntity
Create a new file MyModule/Model/Resource/MyEntity.php and add the following code:
class MyModule_Model_Resource_MyEntity extends Mage_Core_Model_Resource_Db_Abstract
{
protected function _construct()
{
$this->_init('my_module/my_entity', 'entity_id');
}
}
This sets up the resource model to use the my_module/my_entity table and the entity_id column as the primary key.
Step 2: Create a collection class for your entity
Create a new file MyModule/Model/Resource/MyEntity/Collection.php and add the following code:
class MyModule_Model_Resource_MyEntity_Collection extends Varien_Data_Collection_Db
{
protected function _init()
{
parent::_init('my_module/my_entity');
}
}
This sets up the collection class to use the my_module/my_entity table.
Step 3: Use the resource model programmatically
Now, you can use the resource model to retrieve all entities of type MyEntity from the database:
$collection = Mage::getResourceModel('my_module/my_entity_collection');
$entities = $collection->getItems();
foreach ($entities as $entity) {
// Do something with each entity
}
In this example, we're using the Mage::getResourceModel() method to get an instance of the MyModule_Model_Resource_MyEntity_Collection class. We then call the getItems() method to retrieve all entities from the database.