From 3c082ca31f092f37a58d3412aa5fb07fa32a19f9 Mon Sep 17 00:00:00 2001 From: Simon Holywell Date: Mon, 12 Nov 2012 15:42:22 +0000 Subject: [PATCH] Issue #17 Add find_array method --- README.markdown | 9 +++++++++ idiorm.php | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/README.markdown b/README.markdown index d5f10fe7..01e7bd29 100644 --- a/README.markdown +++ b/README.markdown @@ -40,6 +40,7 @@ Changelog * Prevent ambiguous column names when joining tables - issue #66 [[hellogerard](https://github.com/hellogerard)] * Add `delete_many` method [[CBeerta](https://github.com/CBeerta)] * Allow unsetting of ORM parameters [[CBeerta](https://github.com/CBeerta)] +* Add `find_array` to get the records as associative arrays [[Surt](https://github.com/Surt)] - closes issue #17 #### 1.1.1 - release 2011-01-30 @@ -129,6 +130,14 @@ To find all records where the `gender` is `female`: $females = ORM::for_table('person')->where('gender', 'female')->find_many(); +##### As an associative array ##### + +You can also find many records as an associative array instead of Idiorm instances. To do this substitute any call to `find_many()` with `find_array()`. + + $females = ORM::for_table('person')->where('gender', 'female')->find_array(); + +This is useful if you need to serialise the the query output into a format like JSON and you do not need the ability to update the returned records. + #### Counting results #### To return a count of the number of rows that would be returned by a query, call the `count()` method. diff --git a/idiorm.php b/idiorm.php index 1ec749fb..d2200be8 100644 --- a/idiorm.php +++ b/idiorm.php @@ -396,6 +396,16 @@ public function find_many() { return array_map(array($this, '_create_instance_from_row'), $rows); } + /** + * Tell the ORM that you are expecting multiple results + * from your query, and execute it. Will return an array, + * or an empty array if no rows were returned. + * @return array + */ + public function find_array() { + return $this->_run(); + } + /** * Tell the ORM that you wish to execute a COUNT query. * Will return an integer representing the number of