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]);
}
}
|