示例#1
0
 protected function _getSelect()
 {
     $ret = $this->_model->select();
     $exprColumns = $this->_model->getExprColumns();
     foreach ($this->_columns as $column) {
         $d = $column->getData();
         if ($d instanceof Kwf_Data_Table) {
             if (in_array($d->getField(), $exprColumns)) {
                 $ret->expr($d->getField());
             }
         }
     }
     // Filter
     foreach ($this->_filters as $filter) {
         if ($filter->getSkipWhere()) {
             continue;
         }
         $ret = $filter->formatSelect($ret, $this->_getAllParams());
     }
     $queryId = $this->getRequest()->getParam('queryId');
     if ($queryId) {
         $ret->where(new Kwf_Model_Select_Expr_Equal($this->_primaryKey, $queryId));
     }
     $where = $this->_getWhere();
     if (is_null($where)) {
         return null;
     }
     foreach ($where as $k => $i) {
         if (is_int($k)) {
             $ret->where($i);
         } else {
             $ret->where($k, $i);
         }
     }
     return $ret;
 }