sábado, 9 de junio de 2007

¿Lo quiere por id o por nombre? (actualizado)

Este pequeño trozo de código permite que una acción pueda localizar un mismo modelo de dos maneras distintas, gracias a los métodos mágicos de búsqueda de Cake (Model::findBy...).
if (is_numeric ($id)) {
// Buscar por ID
$this->MenuBar->id = $id;
$resultado = $this->MenuBar->Find ();
} else {
$resultado = $this->MenuBar->FindByMenuBar ($id);
}
Explaneishon

Capturamos el parámetro id de una URL típica como /controller/action/parametro.
Vemos si es de tipo numérico, en cuyo caso debería ser un ID.
Y si no, será que es el nombre.

Explaneishon 2

Los métodos mágicos Model::findByCampo () nos sirven para hacer búsquedas de modelos por un campo específico (Campo) del modelo. Dispones de un método findBy por cada campo que tenga el modelo.

No hay comentarios: