<?php 
 
namespace queasy\db\query; 
 
class CountQuery extends TableQuery 
{ 
    /** 
     * Executes SQL query and returns all selected rows. 
     * 
     * @param array $params Query parameters 
     * 
     * @return int Count of records found 
     * 
     * @throws DbException On error 
     */ 
    public function run(array $params = array(), array $options = array()) 
    { 
        count($params) 
            ? $this->setSql(sprintf('SELECT count(*) FROM `%s` WHERE `%s` = :%2$s', $this->tableName(), key($params))) 
            : $this->setSql(sprintf('SELECT count(*) FROM `%s`', $this->tableName())); 
 
        return parent::run($params, $options); 
    } 
} 
 
 
 |