~desarrollokumbia/kumbia/ActiveRecord

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<?php
require_once CORE_PATH . 'libs/ActiveRecord/db_pool/column.php';
class Rows implements ArrayAccess
{
    private $_columns = array();
    /**
     * Primary Key's
     */
    private $_PK = NULL;
    /**
     * Foreing Key's
     */
    private $_FK = NULL;
    /**
     * Relaciones
     */
    private $_relations = array();
    public function column ($col = NULL)
    {
        if (! isset($this->_columns[$col])) {
            $this->_columns[$col] = new Column();
        }
        return $this->_columns[$col];
    }
    /**
     * Obtiene las Columnas
     */
    public function getColumns()
    {
        return $this->_columns;
    }
    /**
     * setea una relacion (asociaciones)
     */
    public function setRelation($column=NULL, $relation=NULL)
    {
        $this->_relations[$column] = $relation;
    }
    /**
     * Obtiene las Relaciones de la columna
     */
    public function getRelations($column=NULL)
    {
        if($column && array_key_exists($column, $this->_relations)){
            return $this->_relations[$column];
        }
        return $this->_relations;
    }
    public function setPK($pk=NULL)
    {
        $this->_PK = $pk;
    }
    public function getPK()
    {
        return $this->_PK;
    }
    public function setFK($fk=NULL)
    {
        $this->_FK = $fk;
    }
    public function getFK()
    {
        return $this->_FK;
    }
    
    //Implementacion de ArrayAccess
    public function offsetExists ($offset)
    {
        return isset($this->_columns[$offset]);
    }
    public function offsetSet ($offset, $value)
    {
        //self::$_columns[$offset] = $value;
    }
    public function offsetGet ($offset)
    {
        //return self::$_columns[$offset];
    }
    public function offsetUnset ($offset)
    {
        unset($this->_columns[$offset]);
    }
}