CI_DB_result::custom_result_object PHP Method

custom_result_object() public method

Custom query result.
public custom_result_object ( string $class_name ) : array
$class_name string
return array
    public function custom_result_object($class_name)
    {
        if (isset($this->custom_result_object[$class_name])) {
            return $this->custom_result_object[$class_name];
        } elseif (!$this->result_id or $this->num_rows === 0) {
            return array();
        }
        // Don't fetch the result set again if we already have it
        $_data = NULL;
        if (($c = count($this->result_array)) > 0) {
            $_data = 'result_array';
        } elseif (($c = count($this->result_object)) > 0) {
            $_data = 'result_object';
        }
        if ($_data !== NULL) {
            for ($i = 0; $i < $c; $i++) {
                $this->custom_result_object[$class_name][$i] = new $class_name();
                foreach ($this->{$_data}[$i] as $key => $value) {
                    $this->custom_result_object[$class_name][$i]->{$key} = $value;
                }
            }
            return $this->custom_result_object[$class_name];
        }
        is_null($this->row_data) or $this->data_seek(0);
        $this->custom_result_object[$class_name] = array();
        while ($row = $this->_fetch_object($class_name)) {
            $this->custom_result_object[$class_name][] = $row;
        }
        return $this->custom_result_object[$class_name];
    }