/** * @example database::Query::orderBy * @code * <?php * # cria objeto de consulta * $query = Query::factory(...); * * # coluna que sera agrupada * $query->orderBy(array('foo' => 'desc', 'bar' => 'asc')); * ?> * @endcode * * {@inheritdoc} * @todo implementar suporte a ordenacao por Column Object * */ public function orderBy($columns) { if (NULL == $this->_orderBy) { $this->_orderBy = OrderBy::factory(); $this->_select->orderBy($this->_orderBy); } $tmpColumns = array(); foreach ($columns as $column => $order) { $column = $this->col($column); $column->orderBy($order); $tmpColumns[] = $column; } $this->_orderBy->column($tmpColumns); return $this; }