Show
Ignore:
Timestamp:
02/10/2008 12:46:49 PM (10 months ago)
Author:
Shadowhand
Message:

Fixing #393, thanks joeles.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/system/libraries/ORM.php

    r2005 r2026  
    661661                $result = self::$db->get($this->table)->result(TRUE); 
    662662 
    663                 if ($count = $result->count()) 
    664                 { 
    665                         if ($count > 1 OR $array == TRUE) 
    666                         { 
    667                                 // Model class name 
    668                                 $class = get_class($this); 
    669  
    670                                 return new ORM_Iterator($class, $result); 
     663                if ($array === TRUE) 
     664                { 
     665                        // Create a new ORM iterator of the result 
     666                        return new ORM_Iterator(get_class($this), $result); 
     667                } 
     668                else 
     669                { 
     670                        if ($return === TRUE) 
     671                        { 
     672                                // Return the first result 
     673                                return ORM::factory($this->class, $result->current()); 
     674                        } 
     675 
     676                        // Load the first result, if there is only one result 
     677                        if ($result->count() === 1) 
     678                        { 
     679                                $this->object = $result->current(); 
    671680                        } 
    672681                        else 
    673682                        { 
    674                                 if ($return === TRUE) 
    675                                 { 
    676                                         // Return the first result 
    677                                         return ORM::factory($this->class, $result->current()); 
    678                                 } 
    679  
    680                                 // Load the first result 
    681                                 $this->object = $result->current(); 
    682                         } 
    683                 } 
    684                 else 
    685                 { 
    686                         if ($array == TRUE) 
    687                         { 
    688                                 // Return an empty array when an array is requested 
    689                                 return array(); 
    690                         } 
    691  
    692                         // Reset the object 
    693                         $this->clear(); 
     683                                $this->clear(); 
     684                        } 
    694685                } 
    695686