Mage_Poll_Model_Mysql4_Poll_Collection Class Reference

Inheritance diagram for Mage_Poll_Model_Mysql4_Poll_Collection:

Mage_Core_Model_Mysql4_Collection_Abstract Varien_Data_Collection_Db Varien_Data_Collection

List of all members.

Public Member Functions

 _construct ()
 addFieldToFilter ($field, $condition=null)
 addStoresFilter ($store)
 addStoreFilter ($storeId, $withAdmin=true)
 addStoreData ()
 addSelectStores ()


Detailed Description

Definition at line 34 of file Collection.php.


Member Function Documentation

_construct (  ) 

Initialization here

Reimplemented from Mage_Core_Model_Mysql4_Collection_Abstract.

Definition at line 36 of file Collection.php.

00037     {
00038         $this->_init('poll/poll');
00039     }

addFieldToFilter ( field,
condition = null 
)

Redefine default filters

Parameters:
string $field
mixed $condition
Returns:
Varien_Data_Collection_Db

Reimplemented from Varien_Data_Collection_Db.

Definition at line 48 of file Collection.php.

00049     {
00050         if ($field == 'stores') {
00051             return $this->addStoresFilter($condition);
00052         }
00053         else {
00054             return parent::addFieldToFilter($field, $condition);
00055         }
00056     }

addSelectStores (  ) 

Definition at line 123 of file Collection.php.

00124     {
00125         $pollId = $this->getId();
00126         $select = $this->getConnection()->select()
00127             ->from($this->getTable('poll/poll_store'))
00128             ->where('poll_id = ?', $pollId);
00129         $result = $this->getConnection()->fetchAll($select);
00130         $stores = array();
00131         foreach ($result as $row) {
00132             $stores[] = $row['stor_id'];
00133         }
00134         $this->setSelectStores($stores);
00135 
00136         return $this;
00137     }

addStoreData (  ) 

Add stores data

Returns:
Mage_Poll_Model_Mysql4_Poll_Collection

Definition at line 93 of file Collection.php.

00094     {
00095         $pollIds = $this->getColumnValues('poll_id');
00096         $storesToPoll = array();
00097 
00098         if (count($pollIds) > 0) {
00099             $select = $this->getConnection()->select()
00100                 ->from($this->getTable('poll/poll_store'))
00101                 ->where('poll_id IN(?)', $pollIds);
00102             $result = $this->getConnection()->fetchAll($select);
00103 
00104             foreach ($result as $row) {
00105                 if (!isset($storesToPoll[$row['poll_id']])) {
00106                     $storesToPoll[$row['poll_id']] = array();
00107                 }
00108                 $storesToPoll[$row['poll_id']][] = $row['store_id'];
00109             }
00110         }
00111 
00112         foreach ($this as $item) {
00113             if(isset($storesToPoll[$item->getId()])) {
00114                 $item->setStores($storesToPoll[$item->getId()]);
00115             } else {
00116                 $item->setStores(array());
00117             }
00118         }
00119 
00120         return $this;
00121     }

addStoreFilter ( storeId,
withAdmin = true 
)

Add Stores Filter

Parameters:
int|array $storeId
Returns:
Mage_Poll_Model_Mysql4_Poll_Collection

Definition at line 75 of file Collection.php.

00076     {
00077         $this->getSelect()->join(
00078             array('store_table' => $this->getTable('poll/poll_store')),
00079             'main_table.poll_id = store_table.poll_id',
00080             array()
00081         )
00082         ->where('store_table.store_id in (?)', ($withAdmin ? array(0, $storeId) : $storeId))
00083         ->group('main_table.poll_id');
00084 
00085         return $this;
00086     }

addStoresFilter ( store  ) 

Deprecated

Parameters:
int|array $storeId
Returns:
Mage_Poll_Model_Mysql4_Poll_Collection

Definition at line 64 of file Collection.php.

00065     {
00066         return $this->addStoresFilter($store);
00067     }


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

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