~desarrollokumbia/kumbia/ActiveRecord

« back to all changes in this revision

Viewing changes to active_record2/active_record2.php

  • Committer: Emilio Silveira
  • Date: 2009-12-31 04:54:30 UTC
  • Revision ID: emilio.rst@gmail.com-20091231045430-tl82ytblj06v3xys
Lo ultimo que se trabajo, una parte de los metodos find y findBySql, aun 
esta incompleto y sin probar, pero por tener algo de codigo, mañana se 
continua :)

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
 */
35
35
class ActiveRecord2
36
36
{
37
 
 
 
37
    /**
 
38
     * Conexion a base datos que se utilizara
 
39
     *
 
40
     * @var strings
 
41
     **/
 
42
    protected $_connection = null;
 
43
 
 
44
    /**
 
45
     * Tabla origen de datos
 
46
     *
 
47
     * @var string
 
48
     **/
 
49
    protected $_table = null;
 
50
    
 
51
    /**
 
52
     * Esquema de datos
 
53
     *
 
54
     * @var string
 
55
     **/
 
56
    protected $_schema = null;
 
57
 
 
58
    /**
 
59
     * Efectua una busqueda
 
60
     *
 
61
     * @param string|array parametros de busqueda 
 
62
     **/
 
63
    public function find($params=null)
 
64
    {
 
65
        // nuevo contenedor de consulta
 
66
        $dbQuery = new DbQuery();
 
67
    
 
68
        // asigna la tabla
 
69
        $dbQuery->table($this->_table);
 
70
        
 
71
        // asigna el esquema si existe
 
72
        if($this->_schema) {
 
73
            $dbQuery->schema($this->_schema);
 
74
        }
 
75
    
 
76
        // si no se indican parametros de consulta
 
77
        if(!$params) {
 
78
            $dbQuery->select();
 
79
            return $this->findBySql($dbQuery);
 
80
        }
 
81
        
 
82
        // obtiene los parametros de consulta indicados
 
83
        if(!is_array($params)) {
 
84
            $params = Util::getParams(func_get_args());
 
85
        }
 
86
        
 
87
    }
 
88
    
 
89
    /**
 
90
     * Efectua una busqueda de una consulta sql
 
91
     *
 
92
     * @param string | DbQuery $sql
 
93
     **/
 
94
    public function findBySql($sql)
 
95
    {
 
96
        // carga el adaptador especifico para la conexion
 
97
        $adapther = DbAdapther::factory($this->_connection);
 
98
    
 
99
        // si no es un string, entonces es DbQuery
 
100
        if(!is_string($sql)) {
 
101
            $sql = $adapther->query($sql);
 
102
        }
 
103
        
 
104
        // ejecuta la consulta
 
105
        return $adapther->pdo()->query($sql);
 
106
    }
38
107
}
 
 
b'\\ No newline at end of file'