X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fpq-gateway;a=blobdiff_plain;f=lib%2Fpq%2FGateway%2FRow.php;h=e408430c736293fa3750ce810f31600500db1169;hp=5c0efa4ac19a30da22c3bb7627d8ffb4bd58ada5;hb=eb9591d498ac4a2a448d6021c804b3c41d1c7247;hpb=20d2b6bcce8f1c7a1aaa375b86ffb5be30674956 diff --git a/lib/pq/Gateway/Row.php b/lib/pq/Gateway/Row.php index 5c0efa4..e408430 100644 --- a/lib/pq/Gateway/Row.php +++ b/lib/pq/Gateway/Row.php @@ -26,7 +26,7 @@ class Row implements \JsonSerializable */ function __construct(Table $table, array $data = null, $prime = false) { $this->table = $table; - $this->data = $data; + $this->data = (array) $data; if ($prime) { $this->prime(); @@ -79,6 +79,12 @@ class Row implements \JsonSerializable return false; } + function refresh() { + $this->data = $this->table->find($this->criteria(), null, 1, 0)->current()->data; + $this->cell = array(); + return $this; + } + /** * Fill modified cells * @return \pq\Gateway\Row @@ -124,7 +130,7 @@ class Row implements \JsonSerializable */ function __get($p) { if (!isset($this->cell[$p])) { - $this->cell[$p] = new Cell($this, $p, $this->data[$p]); + $this->cell[$p] = new Cell($this, $p, isset($this->data[$p]) ? $this->data[$p] : null); } return $this->cell[$p]; }