public function &__get($name)
{
if (strpos($name, '.')) {
return $this->_getNested($name);
}
if (isset($this->_embedded[$name]) && !isset($this->_relationships[$name])) {
throw new RuntimeException("Not implemented.");
}
$result =& parent::__get($name);
if ($result !== null || array_key_exists($name, $this->_updated)) {
return $result;
}
if ($field = $this->schema($name)) {
if (isset($field['default'])) {
$this->set(array($name => $field['default']));
return $this->_updated[$name];
}
if (isset($field['array']) && $field['array'] && ($model = $this->_model)) {
$this->_updated[$name] = $model::create(array(), array('class' => 'set', 'schema' => $this->schema(), 'pathKey' => $this->_pathKey ? $this->_pathKey . '.' . $name : $name, 'parent' => $this, 'model' => $this->_model, 'defaults' => false));
return $this->_updated[$name];
}
}
$null = null;
return $null;
}