related[$column])) { $model = ORM::factory(inflector::singular($this->ORM_Tree_children)); if (array_key_exists($this->ORM_Tree_parent_key, $this->object)) { $model->where($model->primary_key, $this->object[$this->ORM_Tree_parent_key])->find(); } $this->related[$column] = $model; } return $this->related[$column]; } elseif ($column === 'children') { if (empty($this->related[$column])) { $model = ORM::factory(inflector::singular($this->ORM_Tree_children)); if ($this->ORM_Tree_children === $this->table_name) { $this->related[$column] = $model ->where($this->ORM_Tree_parent_key, $this->object[$this->primary_key]) ->find_all(); } else { $this->related[$column] = $model ->where($this->foreign_key(), $this->object[$this->primary_key]) ->where($this->ORM_Tree_parent_key, NULL) ->find_all(); } } return $this->related[$column]; } return parent::__get($column); } }