Como hacer consultas a la db

edited abril 2011 in Beta2
Hola estoy empezando en kumbia y me gustaria saber como hacer consultas en mi db si alguno me da un ejemplo de hacer select en la db se los agradeceria saludos gracias

Comentarios

  • edited 11:48
    hola legion
    en la wiki tenemos "varios tutoriales
    al igual que el manual

    la parte que busca se encuentra aqui y un ejemplo completo de las operaciones mas comunes que se hacen con una base de datos

    espero que la información le sea util
    saludos
  • edited 11:48
    ok muhcas gracias :) ya encontre una forma de hacer y es esta

    $db = db::raw_connect();
    $db->query(“select codigo, nombre from productos”);

    while($producto = $db->fetch_array()){
    print$producto[‘nombre’];
    }//fin while

    $db->close();

    saludos eso era lo que queria :)
  • edited 11:48
    e intentado con el ejemplo de arriba en la beta 2 y me da error quien podria ayudarme
  • edited abril 2011
    realmente no esta aprovechando bien las características del framework

    para consultar la base de datos es ideal crear un modelo que herede de ActiveRecord, para hacer el mismo select que tiene arriba basta con hacer:

    $mis_productos = $this->Productos->find();

    con esto la variable $mis_productos obtendría todos los registros de la tabla Productos, para otro tipo de consultas a realizar le recomiendo leer el listado de operaciones con la base de datos

    de esta forma ahorrara mucho tiempo y le sacara provecho al ORM =)

    PD: no olvide ver los ejemplos
  • edited 11:48
    Buenas tardes, estoy tambien utilizando la beta 2

    Y necesito usar la clase DB para ejecutar una consulta en la base de datos...

    tengo el siguiente código:

    $parametro = Input::post("query");

    $db = Db::factory();

    $pacientes = $db->in_query_assoc("SELECT * FROM paciente WHERE nombres LIKE '%$parametro%' OR identificacion LIKE'%$parametro%' LIMIT $start,$limit");


    Al hacer esto se me presenta el siguiente error:

    Fatal error: Undefined class constant 'DB_ASSOC' in E:\Portables\xampp\htdocs\hcqr\core\libs\db\db_base.php on line 116

    Al parecer hacen falta las constantes en el archivo...

    Saludos a todos...


  • edited 11:48
    y no te vale un find ?

    $pacientes = Load::model( 'paciente' )->find_all_by_sql( "SELECT * FROM paciente WHERE nombres LIKE '%$parametro%' OR identificacion LIKE'%$parametro%' LIMIT $start,$limit" );
  • edited 11:48
    De igual manera creo que es un bug...para los que usan Db como conexion directa...
  • edited 11:48
    La manera en que lo solucioné es la siguiente...

    En el archivo adaptador mysql agregué el siguiente método

    /**
    * Método mágico get para Acceso a las Constantes de la clase
    *
    */
    private function __get($name) {
    if (defined("self::$name")) {
    return constant("self::$name");
    }
    trigger_error("$name isn't defined");
    }


    En el archivo db_base el método in_query_assoc por:

    public function in_query_assoc($sql) {
    $q = $this->query($sql);
    $results = array();
    if ($q) {
    while ($row = $this->fetch_array($q, $this->DB_ASSOC)) {
    $results[] = $row;
    }
    }
    return $results;
    }
  • edited 11:48
    asi sale mas facil men te lo recomiendo ahora solo me falta que alguien me diga como paginar el resultado de eso

    $posts = Load::model('posts')->find();
    Load::model('categorias');
    Load::model('usuarios');

    foreach ($posts as $posts){

    print $posts->titulo;
    print $posts->getCategorias()->nombre_categoria;
    print $posts->getUsuarios()->nombre;
    }
Sign In or Register to comment.