Mage_Reports_Model_Mysql4_Tag_Product_Collection Class Reference

Inheritance diagram for Mage_Reports_Model_Mysql4_Tag_Product_Collection:

Mage_Tag_Model_Mysql4_Product_Collection Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection Mage_Catalog_Model_Resource_Eav_Mysql4_Collection_Abstract Mage_Eav_Model_Entity_Collection_Abstract Varien_Data_Collection_Db Varien_Data_Collection

List of all members.

Public Member Functions

 addUniqueTagedCount ()
 addAllTagedCount ()
 addTagedCount ()
 addGroupByProduct ()
 addGroupByTag ()
 addProductFilter ($customerId)
 setOrder ($attribute, $dir='desc')

Protected Member Functions

 _joinFields ()


Detailed Description

Definition at line 35 of file Collection.php.


Member Function Documentation

_joinFields (  )  [protected]

Join fields process

Returns:
Mage_Tag_Model_Mysql4_Product_Collection

Reimplemented from Mage_Tag_Model_Mysql4_Product_Collection.

Definition at line 100 of file Collection.php.

00101     {
00102         $tagTable = Mage::getSingleton('core/resource')->getTableName('tag/tag');
00103         $tagRelationTable = Mage::getSingleton('core/resource')->getTableName('tag/relation');
00104         $this->addAttributeToSelect('name');
00105         $this->getSelect()
00106             ->join(array('relation' => $tagRelationTable), "relation.product_id = e.entity_id")
00107             ->join(array('t' => $tagTable), "t.tag_id =relation.tag_id", array(
00108                 'tag_id',  'status', 'tag_name' => 'name'
00109             ));
00110 
00111 
00112     }

addAllTagedCount (  ) 

Definition at line 45 of file Collection.php.

00046     {
00047         $this->getSelect()
00048             ->from('', array('taged' => 'count(relation.tag_id)'));
00049             //->order('taged desc');
00050         return $this;
00051     }

addGroupByProduct (  ) 

Definition at line 61 of file Collection.php.

00062     {
00063         $this->getSelect()
00064             ->group('relation.product_id');
00065             $this->setJoinFlag('distinct');
00066         return $this;
00067     }

addGroupByTag (  ) 

Add group by tag

Returns:
Mage_Tag_Model_Mysql4_Product_Collection

Reimplemented from Mage_Tag_Model_Mysql4_Product_Collection.

Definition at line 69 of file Collection.php.

00070     {
00071         $this->getSelect()
00072             ->group('relation.tag_id');
00073             $this->setJoinFlag('distinct');
00074         $this->setJoinFlag('group_tag');
00075         return $this;
00076     }

addProductFilter ( customerId  ) 

Definition at line 78 of file Collection.php.

00079     {
00080         $this->getSelect()
00081             ->where('relation.product_id = ?', $customerId);
00082         $this->_customerFilterId = $customerId;
00083         return $this;
00084     }

addTagedCount (  ) 

Definition at line 53 of file Collection.php.

00054     {
00055         $this->getSelect()
00056             ->from('', array('taged' => 'count(relation.tag_relation_id)'));
00057             //->order('taged desc');
00058         return $this;
00059     }

addUniqueTagedCount (  ) 

Definition at line 37 of file Collection.php.

00038     {
00039         $this->getSelect()
00040             ->from('', array('utaged' => 'count(DISTINCT(relation.tag_id))'));
00041             //->order('taged desc');
00042         return $this;
00043     }

setOrder ( attribute,
dir = 'desc' 
)

Set attribute order

Parameters:
string $attribute
string $dir
Returns:
Mage_Tag_Model_Mysql4_Product_Collection

Reimplemented from Mage_Tag_Model_Mysql4_Product_Collection.

Definition at line 88 of file Collection.php.

00089     {
00090         if ($attribute == 'utaged' || $attribute == 'taged' || $attribute == 'tag_name') {
00091                 $this->getSelect()->order($attribute . ' ' . $dir);
00092         } else {
00093                 parent::setOrder($attribute, $dir);
00094         }
00095 
00096         return $this;
00097     }


The documentation for this class was generated from the following file:

Generated on Sat Jul 4 17:24:37 2009 for Magento by  doxygen 1.5.8