Show
Ignore:
Timestamp:
09/03/06 20:28:53 (6 years ago)
Author:
john
Message:

composed_of fix in AR

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/trax/vendor/trax/active_record.php

    r261 r262  
    473473                    break;             
    474474            }         
    475         } elseif($this->is_composite($key)) { 
     475        } elseif($this->is_composite($key)) {             
    476476            $composite_object = $this->get_composite_object($key); 
    477477            if(is_object($composite_object)) { 
     
    17091709    private function get_composite_object($name) { 
    17101710        $composite_object = null; 
    1711         if(is_array($this->composed_of)) { 
     1711        if(is_array($this->composed_of)) {  
    17121712            if(array_key_exists($name, $this->composed_of)) { 
    1713                 $class_name = Inflector::classify($this->composed_of[$name]['class_name']); 
    1714                 if(class_exists($class_name, false)) { 
    1715                     $composite_object = new $class_name; 
     1713                $class_name = Inflector::classify(($this->composed_of[$name]['class_name'] ?  
     1714                    $this->composed_of[$name]['class_name'] : $name));            
     1715                if(class_exists($class_name)) { 
     1716                    $composite_object = new $class_name(); 
    17161717                    $mappings = $this->composed_of[$name]['mapping']; 
    17171718                    if(is_array($mappings)) { 
     
    17241725        } elseif($this->composed_of == $name) { 
    17251726            $class_name = Inflector::classify($name); 
    1726             if(class_exists($class_name, false)) { 
     1727            if(class_exists($class_name)) { 
    17271728                $composite_object = new $class_name(); 
    17281729                $composite_object->$name = $this->$name;