Version 2, last updated by anthemfor182 at August 31, 2007 20:30 UTC
25.1.5 find
Sintaxis
[“columns: ...”])
El método find es principal método de búsqueda de ActiveRecord devuelve todas los registros de una entidad ó el conjunto de ocurrencias de acuerdo a unos criterios de búsqueda. Los parámetros son todos opcionales y su orden no es relevante, incluso pueden ser combinados u omitidos si es necesario. Cuando se invoca sin parámetros devuelve todos los registros en la entidad.
Ejemplo
- foreach($Usuarios->find("conditions: estado='A' ",
- "order: fecha desc") as $usuario){
- print $usuario->nombre;
- }//fin del foreach
En este ejemplo buscamos todos los registros cuyo estado sea igual a "A" y devuelva estos ordenados descendentemente, el resultado de este es un array de objetos de la misma clase con los valores de los registros cargados en ellos, en caso de no hayan registros devuelve un array vacío.
Con el método find podemos buscar un registro en particular a partir de su id de esta forma:
Ejemplo
- $this->Usuarios->find_first(123);
Así obtenemos el registro 123 e igualmente devuelve una instancia del mismo objeto ActiveRecord en caso de éxito ó false en caso contrario. Como es un solo registro no devuelve un array sino que los valores de este se cargan en la misma variable si existe el registro.
Para limitar el número de registros devueltos podemos usar el parámetro limit, así:
Ejemplo
- $this->Usuarios->find("conditions: estado='A' ","limit: 5");
Cuando queremos consultar solo algunos de los atributos de la entidad podemos utilizar el parámetro columns así:
Ejemplo
- $this->Usuarios->find_first("columns: nombre, estado");
Cuando especificamos el primer parámetro de tipo string, ActiveRecord asumirá que son las condiciones de búsqueda para find, así:
Ejemplo
- $Usuarios->find_first("estado='A'");
Se puede utilizar la propiedad count para saber cuantos registros fueron devueltos en la búsqueda.