~desarrollokumbia/kumbia/ActiveRecord

« back to all changes in this revision

Viewing changes to db_pool/db_query.php

  • Committer: Emilio Silveira
  • Date: 2010-06-16 03:20:43 UTC
  • Revision ID: emilio.rst@gmail.com-20100616032043-coxo4mz6l0nlzv8y
Puliendo codigo y corrigiendo bugs

Show diffs side-by-side

added added

removed removed

Lines of Context:
26
26
     * Partes de la consulta sql
27
27
     *
28
28
     * @var array
29
 
     **/
 
29
     */
30
30
    protected $_sql = array();
31
31
 
32
32
    /**
34
34
     *
35
35
     * @param boolean $distinct
36
36
     * @return DbQuery
37
 
     **/
 
37
     */
38
38
    public function distinct($distinct) 
39
39
    {
40
40
        $this->_sql['distinct'] = $distinct;
52
52
        $this->_sql['where'][] = $this->_where($conditions);
53
53
        return $this;
54
54
    }
 
55
        
55
56
    /**
56
57
     * Clausula WHERE con OR
57
58
     * 
63
64
        $this->_sql['where'][] = $this->_where($conditions, FALSE);
64
65
        return $this;
65
66
    }
 
67
        
66
68
    /**
67
69
     * Método interno para crear la Clusula WHERE
68
70
     * 
114
116
     * @param string $table nombre de tabla
115
117
     * @param string $conditions condiciones
116
118
     * @return DbQuery
117
 
     **/
 
119
     */
118
120
    public function join($table, $conditions) 
119
121
    {
120
122
        $this->_sql['join'][] = array('table' => $table, 'conditions' => $conditions);
127
129
     * @param string $table nombre de tabla
128
130
     * @param string $conditions condiciones
129
131
     * @return DbQuery
130
 
     **/
 
132
     */
131
133
    public function leftJoin($table, $conditions) 
132
134
    {
133
135
        $this->_sql['leftJoin'][] = array('table' => $table, 'conditions' => $conditions);
140
142
     * @param string $table nombre de tabla
141
143
     * @param string $conditions condiciones
142
144
     * @return DbQuery
143
 
     **/
 
145
     */
144
146
    public function rightJoin($table, $conditions) 
145
147
    {
146
148
        $this->_sql['rightJoin'][] = array('table' => $table, 'conditions' => $conditions);
153
155
     * @param string $table nombre de tabla
154
156
     * @param string $conditions condiciones
155
157
     * @return DbQuery
156
 
     **/
 
158
     */
157
159
    public function fullJoin($table, $conditions) 
158
160
    {
159
161
        $this->_sql['fullJoin'][] = array('table' => $table, 'conditions' => $conditions);
165
167
     *
166
168
     * @param string $table nombre de tabla
167
169
     * @return DbQuery
168
 
     **/
 
170
     */
169
171
    public function table($table) 
170
172
    {
171
173
        $this->_sql['table'] = $table;
177
179
     *
178
180
     * @param string $schema schema donde se ubica la tabla
179
181
     * @return DbQuery
180
 
     **/
 
182
     */
181
183
    public function schema($schema) 
182
184
    {
183
185
        $this->_sql['schema'] = $schema;
189
191
     *
190
192
     * @param string $criteria criterio de ordenamiento
191
193
     * @return DbQuery
192
 
     **/
 
194
     */
193
195
    public function order($criteria) 
194
196
    {
195
197
        $this->_sql['order'] = $criteria;
201
203
     *
202
204
     * @param string $columns columnas
203
205
     * @return DbQuery
204
 
     **/
 
206
     */
205
207
    public function group($columns) 
206
208
    {
207
209
        $this->_sql['group'] = $columns;
213
215
     *
214
216
     * @param string $conditions condiciones
215
217
     * @return DbQuery
216
 
     **/
 
218
     */
217
219
    public function having($conditions) 
218
220
    {
219
221
        $this->_sql['having'] = $conditions;
225
227
     *
226
228
     * @param int $limit
227
229
     * @return DbQuery
228
 
     **/
 
230
     */
229
231
    public function limit($limit) 
230
232
    {
231
233
        $this->_sql['limit'] = $limit;
237
239
     *
238
240
     * @param int $offset
239
241
     * @return DbQuery
240
 
     **/
 
242
     */
241
243
    public function offset($offset) 
242
244
    {
243
245
        $this->_sql['offset'] = $offset;
249
251
     *
250
252
     * @param string $columns columnas
251
253
     * @return DbQuery
252
 
     **/
253
 
    public function select($columns = '*') 
 
254
     */
 
255
    public function select($columns = NULL) 
254
256
    {
255
257
        $this->_sql['command'] = 'select';
256
 
                $this->_sql['columns'] = $columns;
 
258
                
 
259
                if($columns) {
 
260
                        $this->columns($columns);
 
261
                }
 
262
        
257
263
        return $this;
258
264
    }
259
265
    /**
264
270
     */
265
271
    public function columns($columns)
266
272
    {
267
 
        return $this->select($columns);
 
273
        $this->_sql['columns'] = $columns;
 
274
                return $this;
268
275
    }
 
276
        
269
277
    /**
270
278
     * Construye la consulta DELETE
271
279
     *
272
280
     * @return DbQuery
273
 
     **/
 
281
     */
274
282
    public function delete() 
275
283
    {
276
284
        $this->_sql['command'] = 'delete';
282
290
     *
283
291
     * @param array $data claves/valores
284
292
     * @return DbQuery
285
 
     **/
 
293
     */
286
294
    public function update($data) 
287
295
    {
288
296
        $this->bind($data);
296
304
     *
297
305
     * @param string | array $data columnas, o array de claves/valores
298
306
     * @return DbQuery
299
 
     **/
 
307
     */
300
308
    public function insert($data) 
301
309
    {
302
310
        $this->bind($data);
309
317
     * Obtiene el array base con las partes de la consulta SQL
310
318
     *
311
319
     * @return array
312
 
     **/
 
320
     */
313
321
    public function getSqlArray()
314
322
    {
315
323
        return $this->_sql;