/** * */ public function getData() { if (!is_null($this->_page) && !is_null($this->_perpage)) { $this->_select->limit('LIMIT ' . ($this->_page - 1) * $this->_perpage . ', ' . $this->_perpage); } if (!empty($this->_filters)) { $filterStorage = \Core\Grid\Model\Filter\Storage::getInstance('filters'); foreach ($this->_filters as $filter) { list($where, $value) = $filter->getFilter(); if (is_null($value)) { $value = $filterStorage->getFilter($filter->getHtmlName()); } if (!is_null($value)) { $filterStorage->setFilter($filter->getHtmlName(), $value); $this->_select->where($where, $value); } } } $sql = $this->_select->getSql(); $dbh = \Core\Db\Connector::getInstance()->getConnection(); $stm = $dbh->query($sql); $countStm = $dbh->query('SELECT FOUND_ROWS()'); $cTmp = $countStm->fetchAll(); $this->_rowsCount = $cTmp[0][0]; return new \Core\Grid\Model\Result($stm->fetchAll(\PDO::FETCH_ASSOC)); }
/** * */ public function getData() { $q = Doctrine_Query::create()->select(implode(',', array_keys($this->_titles)))->from($this->_modelName); if (!empty($this->_order)) { $q->orderBy($this->_order); } if (!empty($this->_filters)) { $filterStorage = \Core\Grid\Model\Filter\Storage::getInstance($this->_modelName); foreach ($this->_filters as $filter) { list($where, $value) = $filter->getFilter(); if (is_null($value)) { $value = $filterStorage->getFilter($filter->getName()); } if (!is_null($value)) { $filterStorage->setFilter($filter->getName(), $value); $q->andWhere($where, $value); } } } $this->_pager = new Doctrine_Pager($q, $this->_page, $this->_perpage); return $this->_pager->execute(); }