diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-07-08 21:43:22 +0200 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-07-08 21:43:22 +0200 |
commit | adedaf05449112a5ede4a3bc722a9a153b4aa2a3 (patch) | |
tree | d9e6a538e140b5076a926151bbe261a960e84417 /system/database/drivers/sqlite3/sqlite3_result.php | |
parent | bd6116a63899c5efcf35e175b3db14b1f05c60a9 (diff) | |
parent | 0db81b6c82c2f86a6e9da26ab5501ba65cb4c4e1 (diff) |
Merge branch 'develop' of github.com:EllisLab/CodeIgniter into feature/db_subdrivers
Diffstat (limited to 'system/database/drivers/sqlite3/sqlite3_result.php')
-rw-r--r-- | system/database/drivers/sqlite3/sqlite3_result.php | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/system/database/drivers/sqlite3/sqlite3_result.php b/system/database/drivers/sqlite3/sqlite3_result.php index 4d59bb08a..8e9b9c15f 100644 --- a/system/database/drivers/sqlite3/sqlite3_result.php +++ b/system/database/drivers/sqlite3/sqlite3_result.php @@ -26,13 +26,13 @@ */ /** - * SQLite Result Class + * SQLite3 Result Class * * This class extends the parent result class: CI_DB_result * * @category Database - * @author Andrey Andreev - * @link http://codeigniter.com/user_guide/database/ + * @author Andrey Andreev + * @link http://codeigniter.com/user_guide/database/ * @since 3.0 */ class CI_DB_sqlite3_result extends CI_DB_result { @@ -134,13 +134,28 @@ class CI_DB_sqlite3_result extends CI_DB_result { * * Returns the result set as an object * + * @param string * @return object */ - protected function _fetch_object() + protected function _fetch_object($class_name = 'stdClass') { - // No native support for fetching as an object - $row = $this->_fetch_assoc(); - return ($row !== FALSE) ? (object) $row : FALSE; + // No native support for fetching rows as objects + if (($row = $this->result_id->fetchArray(SQLITE3_ASSOC)) === FALSE) + { + return FALSE; + } + elseif ($class_name === 'stdClass') + { + return (object) $row; + } + + $class_name = new $class_name(); + foreach (array_keys($row) as $key) + { + $class_name->$key = $row[$key]; + } + + return $class_name; } // -------------------------------------------------------------------- |