summaryrefslogtreecommitdiff
path: root/kohana/libraries/ORM_Iterator.php
diff options
context:
space:
mode:
Diffstat (limited to 'kohana/libraries/ORM_Iterator.php')
-rw-r--r--kohana/libraries/ORM_Iterator.php228
1 files changed, 0 insertions, 228 deletions
diff --git a/kohana/libraries/ORM_Iterator.php b/kohana/libraries/ORM_Iterator.php
deleted file mode 100644
index 41aa8065..00000000
--- a/kohana/libraries/ORM_Iterator.php
+++ /dev/null
@@ -1,228 +0,0 @@
-<?php defined('SYSPATH') OR die('No direct access allowed.');
-/**
-* Object Relational Mapping (ORM) result iterator.
-*
-* $Id: ORM_Iterator.php 3769 2008-12-15 00:48:56Z zombor $
-*
-* @package ORM
-* @author Kohana Team
-* @copyright (c) 2007-2008 Kohana Team
-* @license http://kohanaphp.com/license.html
-*/
-class ORM_Iterator_Core implements Iterator, ArrayAccess, Countable {
-
- // Class attributes
- protected $class_name;
- protected $primary_key;
- protected $primary_val;
-
- // Database result object
- protected $result;
-
- public function __construct(ORM $model, Database_Result $result)
- {
- // Class attributes
- $this->class_name = get_class($model);
- $this->primary_key = $model->primary_key;
- $this->primary_val = $model->primary_val;
-
- // Database result
- $this->result = $result->result(TRUE);
- }
-
- /**
- * Returns an array of the results as ORM objects.
- *
- * @return array
- */
- public function as_array()
- {
- $array = array();
-
- if ($results = $this->result->result_array())
- {
- // Import class name
- $class = $this->class_name;
-
- foreach ($results as $obj)
- {
- $array[] = new $class($obj);
- }
- }
-
- return $array;
- }
-
- /**
- * Return an array of all of the primary keys for this object.
- *
- * @return array
- */
- public function primary_key_array()
- {
- $ids = array();
- foreach ($this->result as $row)
- {
- $ids[] = $row->{$this->primary_key};
- }
- return $ids;
- }
-
- /**
- * Create a key/value array from the results.
- *
- * @param string key column
- * @param string value column
- * @return array
- */
- public function select_list($key = NULL, $val = NULL)
- {
- if ($key === NULL)
- {
- // Use the default key
- $key = $this->primary_key;
- }
-
- if ($val === NULL)
- {
- // Use the default value
- $val = $this->primary_val;
- }
-
- $array = array();
- foreach ($this->result->result_array() as $row)
- {
- $array[$row->$key] = $row->$val;
- }
- return $array;
- }
-
- /**
- * Return a range of offsets.
- *
- * @param integer start
- * @param integer end
- * @return array
- */
- public function range($start, $end)
- {
- // Array of objects
- $array = array();
-
- if ($this->result->offsetExists($start))
- {
- // Import the class name
- $class = $this->class_name;
-
- // Set the end offset
- $end = $this->result->offsetExists($end) ? $end : $this->count();
-
- for ($i = $start; $i < $end; $i++)
- {
- // Insert each object in the range
- $array[] = new $class($this->result->offsetGet($i));
- }
- }
-
- return $array;
- }
-
- /**
- * Countable: count
- */
- public function count()
- {
- return $this->result->count();
- }
-
- /**
- * Iterator: current
- */
- public function current()
- {
- if ($row = $this->result->current())
- {
- // Import class name
- $class = $this->class_name;
-
- $row = new $class($row);
- }
-
- return $row;
- }
-
- /**
- * Iterator: key
- */
- public function key()
- {
- return $this->result->key();
- }
-
- /**
- * Iterator: next
- */
- public function next()
- {
- return $this->result->next();
- }
-
- /**
- * Iterator: rewind
- */
- public function rewind()
- {
- $this->result->rewind();
- }
-
- /**
- * Iterator: valid
- */
- public function valid()
- {
- return $this->result->valid();
- }
-
- /**
- * ArrayAccess: offsetExists
- */
- public function offsetExists($offset)
- {
- return $this->result->offsetExists($offset);
- }
-
- /**
- * ArrayAccess: offsetGet
- */
- public function offsetGet($offset)
- {
- if ($this->result->offsetExists($offset))
- {
- // Import class name
- $class = $this->class_name;
-
- return new $class($this->result->offsetGet($offset));
- }
- }
-
- /**
- * ArrayAccess: offsetSet
- *
- * @throws Kohana_Database_Exception
- */
- public function offsetSet($offset, $value)
- {
- throw new Kohana_Database_Exception('database.result_read_only');
- }
-
- /**
- * ArrayAccess: offsetUnset
- *
- * @throws Kohana_Database_Exception
- */
- public function offsetUnset($offset)
- {
- throw new Kohana_Database_Exception('database.result_read_only');
- }
-
-} // End ORM Iterator \ No newline at end of file