miércoles, julio 08, 2009

Tip: Solución al Max(id) de MySQL en CakePhp

En determinadas ocasiones se requiere el ultimo id que se tiene en una base de datos en MySQL. La forma más práctica de hacer esto es usar la instrucción:

   1: SELECT MAX(id) as MaxId FROM Table




Ahora bien lograr esta instrucción en cakephp tiene su truco, algo que podemos hacer es usar la propiedad “query” de objeto model, pero el resultado es un poco difícil de acceder pues arroja un arreglo de 3 dimensiones. Lo mas sencillo, es usar las prestaciones de Cakephp y el modelo de acceso a la base de datos que maneja, de esta manera existe la propiedad find (‘first’) que permitirá arrojar un solo resultado, con la combinación de unos parámetros para el orden de los datos lograremos encontrar el ultimo id:





   1: $MaxId = $this->Model->find('first', array('order'=>'Model.id DESC'));



   2: $this->set('maxid', $MaxId['Model']['id']);




Lo anterior lo coloque dentro de un controlador.



Listo!

No hay comentarios.: