public function getQuery()
{
// init
$select = $this->db->select();
// create base
$select->from(['objects'], [new \Zend_Db_Expr('SQL_CALC_FOUND_ROWS objects.o_id'), 'objects.o_type']);
// add joins
$this->addJoins($select);
// add condition
$this->addConditions($select);
// group by
$this->addGroupBy($select);
// order
$this->addOrder($select);
// limit
$this->addLimit($select);
if ($this->onCreateQueryCallback) {
$closure = $this->onCreateQueryCallback;
$closure($select);
}
return $select;
}