En este breve tutorial vamos a explicar como ordenadar y/o agrupar los resultados de una consulta a base de datos en un aplicación desarrollada con CakePHP. Para ello utilizaremos los parámetros ‘group‘ y ‘order‘.
Ordenar los resultados de la consulta
Veamos un simple ejemplo de una consulta que devuelve todas las personas que están almacenadas en una tabla de la base de datos. Para obtener todas las personas de la tabla utiliaríamos la siguiente línea:
1 $this->Personas->find("all");
Orden ascendente
Con la línea anterior obtendríamos un listado con todas las personas, pero ahora lo que queremos es que este listado esté ordenado alfabéticamente. Entonces a la consulta anterior deberemos añadirle la condición ‘order’ para indicar el orden en el que serán devueltos los registros:
1 $this->Personas->find("all",array('order'=>'Personas.nombre'));
Añadiendo el parámetro ‘order’ ahora los resultados serán ordenados de la ‘A’ a la ‘Z’.
Orden descendente
Para ordenarlos de forma descendente deberemos utilizar la siguiente línea, indicando ahora ‘order DESC‘:
1 $this->Personas->find("all",array('order'=>'Personas.nombre DESC'));
Los resultados serán devueltos ahora ordenados de la ‘Z’ a la ‘A’.
Agrupar los resultados de la consulta
Si lo que se quiere es agrupar el resultado de la consulta debermos utilizar el parámetro ‘group‘:
1 $this->Personas->find("all",array('group'=>'Personas.ciudad'));
Con estos dos parámetros ‘group‘ y ‘order‘ podrás agrupar y ordenar el resultado de todas tus consultas.
Deja tu comentario