diff --git a/Model/SqlResultCollection.php b/Model/SqlResultCollection.php index cf1f2df..3157b8c 100644 --- a/Model/SqlResultCollection.php +++ b/Model/SqlResultCollection.php @@ -37,4 +37,9 @@ class SqlResultCollection extends \ArrayIterator implements iSqlResultItems { return $this->offsetGet(0); } + + public function assoc($field, $assoc_as_array = false) { + $sql_result_provider = new SqlResultProvider($this->items); + return $sql_result_provider->assoc($field, $assoc_as_array); + } } \ No newline at end of file diff --git a/Model/SqlResultProvider.php b/Model/SqlResultProvider.php index 5d603a0..f1aabb6 100644 --- a/Model/SqlResultProvider.php +++ b/Model/SqlResultProvider.php @@ -19,7 +19,7 @@ class SqlResultProvider implements iSqlResultItems private $result_items_base; /** - * @param $result DbStatement + * @param $result DbStatement|array */ public function __construct($result) { @@ -29,8 +29,12 @@ class SqlResultProvider implements iSqlResultItems private function defineResultItems() { if (is_null($this->result_items_base)) { - $this->result_items_base = $this->result->fetchAll(); - $this->result_items = $this->result_items_base; + if (is_array($this->result)) { + $this->result_items_base = $this->result; + } else { + $this->result_items_base = $this->result->fetchAll(); + } + $this->result_items = $this->result_items_base; } }