public function getCount()
{
if (count($this->model->getObjects()) > 0) {
return count($this->model->getObjects());
}
$select = $this->db->select();
$select->from([static::getTableName()], static::getTableName() . ".key");
$this->addConditions($select);
$this->addGroupBy($select);
$this->addOrder($select);
$this->addLimit($select);
if ($this->onCreateQueryCallback) {
$closure = $this->onCreateQueryCallback;
$closure($select);
}
$amount = (int) $this->db->fetchOne("SELECT COUNT(*) as amount FROM (" . $select . ") AS a", $this->model->getConditionVariables());
return $amount;
}