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