From e77d77c6b4c094483a3d85b23845436b77796d07 Mon Sep 17 00:00:00 2001 From: Derek Allard Date: Wed, 19 Dec 2007 15:01:55 +0000 Subject: Added support for limit() into update() and delete() statements in Active Record. --- system/database/DB_active_rec.php | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'system/database/DB_active_rec.php') diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php index 4a88bd816..cea9bddc5 100644 --- a/system/database/DB_active_rec.php +++ b/system/database/DB_active_rec.php @@ -856,12 +856,12 @@ class CI_DB_active_record extends CI_DB_driver { $table = $this->ar_from[0]; } - if ($where != null) + if ($where != NULL) { $this->where($where); } - if ($limit != null) + if ($limit != NULL) { $this->limit($limit); } @@ -884,7 +884,7 @@ class CI_DB_active_record extends CI_DB_driver { * @param mixed the where clause * @return object */ - function delete($table = '', $where = '') + function delete($table = '', $where = '', $limit = NULL) { if ($table == '') { @@ -905,6 +905,11 @@ class CI_DB_active_record extends CI_DB_driver { $this->where($where); } + if ($limit != NULL) + { + $this->limit($limit); + } + if (count($this->ar_where) == 0) { if ($this->db_debug) @@ -914,7 +919,7 @@ class CI_DB_active_record extends CI_DB_driver { return FALSE; } - $sql = $this->_delete($this->dbprefix.$table, $this->ar_where); + $sql = $this->_delete($this->dbprefix.$table, $this->ar_where, $this->ar_limit); $this->_reset_write(); return $this->query($sql); @@ -1096,7 +1101,7 @@ class CI_DB_active_record extends CI_DB_driver { /** * Resets the active record "write" values. * - * Called by the insert() or update() functions + * Called by the insert() update() and delete() functions * * @access private * @return void -- cgit v1.2.3-24-g4f1b