Order
Orden en CakePHP
A continuación se presenta el código para gestionar el orden en CakePHP:
if ($this->request->query['sort'] != null && $this->request->query['direction'] != null) {    $sort = $this->request->query['sort'];    $direction = $this->request->query['direction'];} else {    $sort = 'ResearchGroups_name_translation.content';    $direction = 'ASC';}Es importante tener en cuenta que si se desea ordenar por otros campos además del pasado explícitamente en un objeto de consulta, se deberá combinar ambos métodos:
$this->paginate['sortWhitelist'] = $this->Users->schema()->columns() + ['Cities.id', 'Cities.name'];$query = $this->Users->find()                     ->contain('Cities')                     ->order(['Cities.name' => 'DESC']);$users = $this->paginate($query);En el siguiente fragmento, se muestra cómo manejar el orden en CakePHP:
if (isset($this->request->query['sort']) && isset($this->request->query['direction'])) {    $sort = $this->request->query['sort'];    $direction = $this->request->query['direction'];} else {    $sort = 'ResearchGroups_name_translation.content';    $direction = 'ASC';}if (empty($type)) {    $type = 'active';    $researchGroups = $this->paginate(        $this->ResearchGroups->find('all', [            'order' => [$sort => $direction],            'conditions' => [                'OR' => [                    'end_date >' => date('Y-m-d'),                    'end_date is null',                ]            ]        ])    );} else {    $type = 'all';    $researchGroups = $this->paginate(        $this->ResearchGroups->find('all', [            'order' => [$sort => $direction]        ])    );}