/** Return an array with table names as keys and class names as values.
* the first table will be used to obtain the id of new objects, with polymorphic
* retrieval this table should be the topmost persistent superclass, so that it
* contains a record for each logical instance in the polymorphism, making the ids
* unique for all objects within a polymorphism
* @return Array the map
*/
function (&$anArray)
{
if ($this->() === null) return;
$this->(); //initializes the polymorphismPropName too
if ($this->polymorphismPropName) { //polymorphism, include parent tablenames first
$parentDesc = $this->();
$parentDesc->($anArray);
}
if ( !isSet($anArray[$this->tableName]) )
$anArray[$this->tableName] = $this->name; //add own tablename only if it was not already added by parent
}
|