示例#1
0
 public function getCount($condition, $orderBy = null, $limit = null, $offset = null)
 {
     if ($condition) {
         $condition = "WHERE " . $condition;
     }
     if ($orderBy) {
         $orderBy = " ORDER BY " . $orderBy;
     }
     if ($limit) {
         if ($offset) {
             $limit = "LIMIT " . $offset . ", " . $limit;
         } else {
             $limit = "LIMIT " . $limit;
         }
     }
     if ($this->model->getVariantMode() == OnlineShop_Framework_IProductList::VARIANT_MODE_INCLUDE_PARENT_OBJECT) {
         $query = "SELECT count(DISTINCT o_virtualProductId) FROM " . $this->model->getCurrentTenantConfig()->getTablename() . " a " . $this->model->getCurrentTenantConfig()->getJoins() . $condition . $orderBy . " " . $limit;
     } else {
         $query = "SELECT count(*) FROM " . $this->model->getCurrentTenantConfig()->getTablename() . " a " . $this->model->getCurrentTenantConfig()->getJoins() . $condition . $orderBy . " " . $limit;
     }
     OnlineShop_Plugin::getSQLLogger()->log("Query: " . $query, Zend_Log::INFO);
     $result = $this->db->fetchOne($query);
     OnlineShop_Plugin::getSQLLogger()->log("Query done.", Zend_Log::INFO);
     return $result;
 }