Exemple #1
0
 /**
  *
  */
 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));
 }
Exemple #2
0
 /**
  *
  */
 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();
 }