protected function getReference($table, $column) { if (array_key_exists($column, $this->data)) { $this->access($column); $value = $this->data[$column]; $value = $value instanceof NTableRow ? $value->getPrimary() : $value; $referenced = $this->table->getReferencedTable($table, $column, !empty($this->modified[$column])); $referenced = isset($referenced[$value]) ? $referenced[$value] : NULL; // referenced row may not exist if (!empty($this->modified[$column])) { // cause saving changed column and prevent regenerating referenced table for $column $this->modified[$column] = 0; // 0 fails on empty, pass on isset } return $referenced; } }