Magento Query Patterns is a library of sub-query classes for everyday use in Magento queries.
##Installation
Download the latest edition
and extract it to Magento's base folder.
The folder /lib/Knectar will be created.
Be careful to preserve the folder arrangement so that Magento's autoloader can work accurately.
##Usage
Query patterns are sub-queries and can be used anywhere Zend select objects can.
For convenience, the static method enhance is best.
// this example adds a `product_tags` column
$collection = Mage::getResourceModel('catalog/product_collection');
Knectar_Select_Product_Tags::enhance($collection->getSelect(), 'tags', 'tags.product_id=e.entity_id');
foreach ($collection as $product) {
echo $product->getProductTags(), "\n";
}The parameters of enhance are:
$selectMust be an instance ofVarien_Db_Select.$tableNameThe sub-query will be joined as this table. Must be unique for$select.$conditionThe ON clause for a JOIN statement, it will use the table name.$columns(Optional) Associative array of column names to add to the field list.$type(Optional) One of theZend_Db_Select::*_JOINconstants, the default isLEFT_JOIN.
Some classes provide more specific convenience functions, see the wiki for references.
##Distribution
This library is shared under the MIT license, meaning you are free to use it
for any purpose and free to include it in your extensions. Because other
extension authors might like to use the same library please do not modify any
source files directly, instead fork this project and submit your modifications
that way. Alternatively, to avoid confusion, extend the classes with your own in
a namespace other than Knectar_.