|
|
|
@ -190,11 +190,7 @@ class Query extends Component implements QueryInterface
|
|
|
|
|
*/ |
|
|
|
|
public function count($q = '*', $db = null) |
|
|
|
|
{ |
|
|
|
|
$select = $this->select; |
|
|
|
|
$this->select = ["COUNT($q)"]; |
|
|
|
|
$command = $this->createCommand($db); |
|
|
|
|
$this->select = $select; |
|
|
|
|
return $command->queryScalar(); |
|
|
|
|
return $this->queryScalar("COUNT($q)", $db); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -207,11 +203,7 @@ class Query extends Component implements QueryInterface
|
|
|
|
|
*/ |
|
|
|
|
public function sum($q, $db = null) |
|
|
|
|
{ |
|
|
|
|
$select = $this->select; |
|
|
|
|
$this->select = ["SUM($q)"]; |
|
|
|
|
$command = $this->createCommand($db); |
|
|
|
|
$this->select = $select; |
|
|
|
|
return $command->queryScalar(); |
|
|
|
|
return $this->queryScalar("SUM($q)", $db); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -224,11 +216,7 @@ class Query extends Component implements QueryInterface
|
|
|
|
|
*/ |
|
|
|
|
public function average($q, $db = null) |
|
|
|
|
{ |
|
|
|
|
$select = $this->select; |
|
|
|
|
$this->select = ["AVG($q)"]; |
|
|
|
|
$command = $this->createCommand($db); |
|
|
|
|
$this->select = $select; |
|
|
|
|
return $command->queryScalar(); |
|
|
|
|
return $this->queryScalar("AVG($q)", $db); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -241,11 +229,7 @@ class Query extends Component implements QueryInterface
|
|
|
|
|
*/ |
|
|
|
|
public function min($q, $db = null) |
|
|
|
|
{ |
|
|
|
|
$select = $this->select; |
|
|
|
|
$this->select = ["MIN($q)"]; |
|
|
|
|
$command = $this->createCommand($db); |
|
|
|
|
$this->select = $select; |
|
|
|
|
return $command->queryScalar(); |
|
|
|
|
return $this->queryScalar("MIN($q)", $db); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -258,11 +242,7 @@ class Query extends Component implements QueryInterface
|
|
|
|
|
*/ |
|
|
|
|
public function max($q, $db = null) |
|
|
|
|
{ |
|
|
|
|
$select = $this->select; |
|
|
|
|
$this->select = ["MAX($q)"]; |
|
|
|
|
$command = $this->createCommand($db); |
|
|
|
|
$this->select = $select; |
|
|
|
|
return $command->queryScalar(); |
|
|
|
|
return $this->queryScalar("MAX($q)", $db); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -273,11 +253,23 @@ class Query extends Component implements QueryInterface
|
|
|
|
|
*/ |
|
|
|
|
public function exists($db = null) |
|
|
|
|
{ |
|
|
|
|
return $this->queryScalar(new Expression('1'), $db) !== false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Queries a scalar value by setting [[select]] first. |
|
|
|
|
* Restores the value of select to make this query reusable. |
|
|
|
|
* @param string|Expression $selectExpression |
|
|
|
|
* @param Connection $db |
|
|
|
|
* @return bool|string |
|
|
|
|
*/ |
|
|
|
|
private function queryScalar($selectExpression, $db) |
|
|
|
|
{ |
|
|
|
|
$select = $this->select; |
|
|
|
|
$this->select = [new Expression('1')]; |
|
|
|
|
$this->select = [$selectExpression]; |
|
|
|
|
$command = $this->createCommand($db); |
|
|
|
|
$this->select = $select; |
|
|
|
|
return $command->queryScalar() !== false; |
|
|
|
|
return $command->queryScalar(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|