/** * Datatable ordering * * @return null */ private function doOrdering() { if (array_key_exists('order', $this->input) && count($this->input['order']) > 0) { for ($i = 0, $c = count($this->input['order']); $i < $c; $i++) { $order_col = (int) $this->input['order'][$i]['column']; $order_dir = $this->input['order'][$i]['dir']; if ($this->new_version) { $column = $this->input['columns'][$order_col]; if ($column['orderable'] == "true") { if (!empty($column['name'])) { $this->query->orderBy($column['name'], $order_dir); } elseif (isset($this->columns[$order_col])) { $column_name = $this->getColumnName($this->columns[$order_col]); $this->query->orderBy($column_name, $order_dir); } } } else { if (isset($this->columns[$order_col])) { if ($this->input['columns'][$order_col]['orderable'] == "true") { $column_name = $this->getColumnName($this->columns[$order_col]); $this->query->orderBy($column_name, $order_dir); } } } } } }
protected function retrieveRecords() { return $this->Model->orderBy($this->getOrderByColumn(), $this->getOrderByDirection())->paginate($this->recordsPerPage); }