public function sort($field, $order = 'asc') { foreach (is_array($field) ? $field : array($field => $order) as $f => $o) { $this->_query->order($f . " {$o}"); } return $this; }
protected function _applyGrouping(RM_Db_Query $query) { $query->order()->reset(); foreach ($this->_columnGroup as $groupField) { $query->group($groupField); $query->order($groupField); } return $query; }
/** * Adds sort conditions into query * * @param RM_Db_Query query * @return void **/ protected function _addSortToQuery(RM_Db_Query $query) { $query->order(implode(', ', array_reverse($this->_getSort()))); }
/** * Apply sort to report data query * * @param RM_Db_Query * @return RM_Db_Query **/ protected function _applySort(RM_Db_Query &$query) { $sortField = 'IF(' . $this->detail()->getFieldNameWithId() . ' = 0, ' . (strtoupper($this->order()) == 'ASC' ? '' : '-') . '1000000000000, ifnull(' . $this->sort() . ',0))'; return $query->order($sortField . ' ' . $this->order()); }
/** * Description... * * @return void **/ public function _appendSort(RM_Db_Query $query) { if (isNull($this->_sort)) { foreach ($this->values() as $item) { $this->_sort['param'] = $item; break; } } $sortField = 'if(' . $this->detailLevel()->getFieldNameWithId() . '=0, ' . ($this->order() == 'asc' ? '' : '-') . '1000000000000, ' . $this->sort()->getVarname() . ')'; return $query->order($sortField . ' ' . $this->order()); }