/** * Prepares an ordering expression * * @param DataSetRequestInterface $request * @param ColumnCollection $columns * * @return Expr\OrderBy */ protected function getOrderByExpression(DataSetRequestInterface $request, ColumnCollection $columns) { $column = $columns->get($request->getOrderBy()); $orderBy = $column->isAggregated() ? $column->getAlias() : $column->getSource(); $orderDir = $request->getOrderDir(); return new Expr\OrderBy($orderBy, $orderDir); }