25
require_once CORE_PATH.'libs/ActiveRecord/active_record2/kumbia_model.php';
25
require_once CORE_PATH . 'libs/ActiveRecord/active_record2/kumbia_model.php';
29
require_once CORE_PATH . 'libs/ActiveRecord/db_pool/result_set.php';
28
31
* ActiveRecord Clase para el Mapeo Objeto Relacional
46
49
protected $_connection = null;
49
51
* Tabla origen de datos
53
55
protected $_table = null;
60
61
protected $_schema = null;
63
* Objeto DbQuery para implementar chain
67
protected $_dbQuery = NULL;
69
* Constructor de la class
71
public function __constructor ($data = null)
73
if (is_array($data)) {
74
foreach ($data as $k => $v) {
63
80
* Efectua una busqueda
65
82
* @param string|array parametros de busqueda
67
public function find($params=NULL)
84
public function find ($params = NULL)
69
// nuevo contenedor de consulta
70
$dbQuery = new DbQuery();
87
// nuevo contenedor de consulta
88
$dbQuery = new DbQuery();
73
92
$dbQuery->table($this->_table);
75
93
// asigna el esquema si existe
77
95
$dbQuery->schema($this->_schema);
80
// si no se indican parametros de consulta
82
return $this->findBySql($dbQuery->select());
85
97
// obtiene los parametros de consulta indicados
86
if(!is_array($params)) {
98
if (! is_array($params)) {
87
99
$params = Util::getParams(func_get_args());
88
$dbQuery->select(implode(',',$params));
100
$dbQuery->select(implode(', ', $params));
89
101
return $this->findBySql($dbQuery);
104
public function all ()
107
* Devuelve la instancia para realizar chain
109
* @return Obj DbQuery
111
public function get ()
113
return $this->_dbQuery = new DbQuery();
95
116
* Efectua una busqueda de una consulta sql
97
118
* @param string | DbQuery $sql
99
public function findBySql($sql)
120
public function findBySql ($sql)
101
122
// carga el adaptador especifico para la conexion
102
123
$adapter = DbAdapter::factory($this->_connection);
104
124
// si no es un string, entonces es DbQuery
105
if(!is_string($sql)) {
125
if (! is_string($sql)) {
106
126
$sql = $adapter->query($sql);
108
128
// ejecuta la consulta
112
132
* Ejecuta una setencia SQL aplicando Prepared Statement
113
134
* @param string $sql Setencia SQL
114
135
* @param array $params parametros que seran enlazados al SQL
115
* @param int tipo de Fetch a retornar
117
public function sql($sql, $params=NULL, $fetch=PDO::FETCH_CLASS)
138
public function sql ($sql, $params = NULL)
119
140
// carga el adaptador especifico para la conexion
120
141
$adapter = DbAdapter::factory($this->_connection);
122
142
$prepare = $adapter->pdo()->prepare($sql);
123
if($prepare->execute($params)){
124
return $prepare->fetchAll($fetch);
143
if ($prepare->execute($params)) {
144
return new ResultSet($prepare);
b'\\ No newline at end of file'
149
* Realiza un insert sobre la tabla
151
* @param array $data información a ser guardada
154
public function insert ($data = null)
156
// nuevo contenedor de consulta
157
$dbQuery = new DbQuery();
159
$dbQuery->table($this->_table);
160
// asigna el esquema si existe
161
if ($this->_schema) {
162
$dbQuery->schema($this->_schema);
164
$dbQuery->insert($data);
165
$adapter = DbAdapter::factory($this->_connection);
167
$prepare = $adapter->pdo()->prepare($adapter->query($dbQuery));
168
return $prepare->execute($data);
169
} catch (PDOException $e) { //echo $prepare->errorCode();die;