/**
* @inheritdoc
*/
protected function queryScalar($selectExpression, $db)
{
if ($this->sql === null) {
return parent::queryScalar($selectExpression, $db);
}
/* @var $modelClass ActiveRecord */
$modelClass = $this->modelClass;
if ($db === null) {
$db = $modelClass::getDb();
}
return (new Query())->select([$selectExpression])->from(['c' => "({$this->sql})"])->params($this->params)->createCommand($db)->queryScalar();
}