コード例 #1
0
 /**
  * Get random identifier not closed poll
  *
  * @param   Mage_Poll_Model_Poll $object
  * @return  int
  */
 public function getRandomId($object)
 {
     $read = $this->_getReadAdapter();
     $select = $read->select();
     if ($object->getExcludeFilter()) {
         $select->where('main_table.poll_id NOT IN(?)', $object->getExcludeFilter());
     }
     $select->from(array('main_table' => $this->getMainTable()), $this->getIdFieldName())->where('closed = ?', 0)->order(new Zend_Db_Expr('RAND()'))->limit(1);
     if ($storeId = $object->getStoreFilter()) {
         $select->join(array('store' => $this->getTable('poll/poll_store')), $read->quoteInto('main_table.poll_id=store.poll_id AND store.store_id = ?', $storeId), array());
     }
     return $read->fetchOne($select);
 }
コード例 #2
0
ファイル: Poll.php プロジェクト: nemphys/magento2
 /**
  * Get select object for not closed poll ids
  *
  * @param Mage_Poll_Model_Poll $object
  * @return
  */
 protected function _getSelectIds($object)
 {
     $read = $this->_getReadAdapter();
     $select = $read->select()->from(array('main_table' => $this->getMainTable()), $this->getIdFieldName())->where('closed = ?', 0);
     $excludeIds = $object->getExcludeFilter();
     if ($excludeIds) {
         $select->where('main_table.poll_id NOT IN(?)', $excludeIds);
     }
     $storeId = $object->getStoreFilter();
     if ($storeId) {
         $select->join(array('store' => $this->getTable('poll_store')), 'main_table.poll_id=store.poll_id AND store.store_id = ' . $read->quote($storeId), array());
     }
     return $select;
 }
コード例 #3
0
ファイル: Poll.php プロジェクト: njaeger/magento_github
 /**
  * Get random identifier not closed poll
  *
  * @param Mage_Poll_Model_Poll $object
  * @return int
  */
 public function getRandomId($object)
 {
     $read = $this->_getReadAdapter();
     $select = $read->select();
     if ($object->getExcludeFilter()) {
         $select->where('main_table.poll_id NOT IN(?)', $object->getExcludeFilter());
     }
     $select->from(array('main_table' => $this->getMainTable()), $this->getIdFieldName())->where('closed = :is_closed')->orderRand()->limit(1);
     $bind = array(':is_closed' => 0);
     if ($storeId = $object->getStoreFilter()) {
         $select->join(array('store' => $this->getTable('poll/poll_store')), 'main_table.poll_id=store.poll_id AND store.store_id = :store_id', array());
         $bind[':store_id'] = $storeId;
     }
     return $read->fetchOne($select, $bind);
 }