if (isset($definition['options']) && is_array($definition['options']) && !empty($definition['options']))
$ret[] = $this->buildOptions($definition['options']);
- if (isset($definition['inheritance']['subclasses']) && ! empty($definition['inheritance']['subclasses']))
- $ret[] = " ".'$this->setSubClasses('. self::varExport($definition['inheritance']['subclasses']).');';
+ if (isset($definition['inheritance']['subclasses']) && !empty($definition['inheritance']['subclasses'])) {
+ $ret[] = " ".'$table->setSubClasses('. self::varExport($definition['inheritance']['subclasses']).');';
+ }
$ret[] = ' }';
$this->_table->setOption('inheritanceMap', $map);
}
- public function setSubclasses($map)
- {
- if (isset($map[get_class($this)])) {
- $this->_table->setOption('inheritanceMap', $map[get_class($this)]);
- return;
- }
- $this->_table->setOption('subclasses', array_keys($map));
- }
-
public function attribute($attr, $value)
{
if ($value == null) {
return isset($this->_columnNames[$fieldName]);
}
+ public function setSubClasses(array $map)
+ {
+ $class = $this->getComponentName();
+ if (isset($map[$class])) {
+ $this->setOption('inheritanceMap', $map[$class]);
+ } else {
+ $this->setOption('subclasses', array_keys($map));
+ }
+ }
+
public function setConnection(IPF_ORM_Connection $conn)
{
$this->_conn = $conn;