I am trying to join a custom collection with products to show the product name (not just the id) in the admin grid widget. So far i can't find the correct syntax.
I am able to retrieve the products with the product name by the following:
Mage::getModel('catalog/product')->getCollection()->addAttributeToSelect('name');
and i can retrieve my custom collection with:
Mage::getResourceModel('xyz_mymodule/model_collection');
How do i join the two so that the module collection is the primary collection and the id as returned by $model->getId() is still the id of my custom collection?
Collections are encapsulating sets of models and related functionality, such as filtering, sorting, and paging. A collection in Magento is a class that implements both the IteratorAggregate and the Countable PHP5 SPL interfaces.
You need to use the $this->resourceConnection object to run any Direct SQL Query. Reading From The Database All the records, fetchAll() => This method Fetches all SQL result rows as a sequential array. This method takes a query as it's the first parameter, executes it, and then returns all of the results as an array.
A JOIN clause is used to combine rows from two or more tables, based on a related column between them.
Here you have a working example:
$collection = Mage::getModel('sales/order')->getCollection();
$collection->getSelect()->join( array('order_item'=> 'sales_flat_order_item'), 'order_item.order_id = main_table.entity_id', array('order_item.sku'));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With