Ejemplos exists de Active Record API

He estado viendo los distintos métodos que proporciona la API Active Record y me pareció interesante el exists(). Pero el libro está un poco pobre de ejemplos y más de explicaciones del funcionamiento interno, y me gustaría sacarle el máximo provecho.

Los ejemplos que vienen en la versión del libro que tengo son:
$Usuarios->id = 3;
if($Usuarios->exists()){
    print "Ya existe el id = 3";
}//fin del if
$Usuarios->exists(“nombre='Juan Perez'”)
$Usuarios->exists(2); // Un Usuario con id->2?

Estos ejemplos me llevaron a pensar que el método siempre retorna valores booleanos -así que no entendí el porqué de los dos últimos ejemplos-. Entonces me puse a mirar el código fuente del método y vi que al final lo que devuelve es:
$query.= $this->limit(1);
$num = $this->db->fetch_one($query);
return $num[0];

¿Esto no devuelve el primer elemento de un arreglo? ¿Qué es lo que devuelve el exists finalmente? Estoy usando kumbia4.7a

Saludos.

Comentarios

  • Estos ejemplos me llevaron a pensar que el método siempre retorna valores booleanos -así que no entendí el porqué de los dos últimos ejemplos-. Entonces me puse a mirar el código fuente del método y vi que al final lo que devuelve es:
    $query.= $this->limit(1);
    $num = $this->db->fetch_one($query);
    return $num[0];
    

    ¿Esto no devuelve el primer elemento de un arreglo? ¿Qué es lo que devuelve el exists finalmente? Estoy usando kumbia4.7a

    No necesariamente devuelve un Boolean ahí se evalúa si lo que retorna el Método exists es vació o no, esto hace que todo se convierta en una evaluación Booleana...

    Éxitos...
  • edited 5:59
    Amigo dices que leiste el libro, pero creo te falta analizar y observar un poco mas los ejemplos, recuerda que se trabaja con objetos. En el caso particular del metodo exists() obviamente te devolvera un valor booleano, porque este solo te verifica si el valor que buscas existe en tu BD, este metodo lo usarias generalmente para no meter datos duplicados, no crees? Te recomendaria que verificaras los ejemplos que hay en los grupos, tal vez esto te ayude a ubicarte un poco mas, y si no pregunta algo bien especifico, y obviamente la comunidad te hechara una mano.
    saludos
Sign In or Register to comment.