diff --git a/orm.class.php b/orm.class.php index a9b72c0..c975181 100644 --- a/orm.class.php +++ b/orm.class.php @@ -880,6 +880,10 @@ function last() { return $this[$count-1]; } + function toArray() { + return iterator_to_array($this); + } + #[\ReturnTypeWillChange] function count() { $this->run_if_missing(); diff --git a/simpletest/BasicOrmTest.php b/simpletest/BasicOrmTest.php index 02914f4..8d1e212 100644 --- a/simpletest/BasicOrmTest.php +++ b/simpletest/BasicOrmTest.php @@ -429,6 +429,11 @@ function test_11_scope() { $FirstTeenager = Person::scope('first_teenager'); $this->assert(count($FirstTeenager) === 1); $this->assert($FirstTeenager[0]->name === 'Ellie'); + + $array = $FirstTeenager->toArray(); + $this->assert(!is_array($FirstTeenager)); + $this->assert(is_array($array)); + $this->assert($array[0]->name === 'Ellie'); } // * has_many: works with scoping