diff options
author | Andrey Andreev <narf@bofh.bg> | 2012-04-09 11:55:11 +0200 |
---|---|---|
committer | Andrey Andreev <narf@bofh.bg> | 2012-04-09 11:55:11 +0200 |
commit | c01d31685ad365c6bf3e833c03d7f8a3402c0ec7 (patch) | |
tree | 34370d88d4d29955d47599b1250f0d80b82800e4 /system/database/DB_active_rec.php | |
parent | 5c0e9fe409e9ca87cc9daf39ae9029c026ad01cc (diff) |
Added a default _delete() method to CI_DB_active_record
Diffstat (limited to 'system/database/DB_active_rec.php')
-rw-r--r-- | system/database/DB_active_rec.php | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/system/database/DB_active_rec.php b/system/database/DB_active_rec.php index f92110732..a5df7f31a 100644 --- a/system/database/DB_active_rec.php +++ b/system/database/DB_active_rec.php @@ -1873,6 +1873,31 @@ abstract class CI_DB_active_record extends CI_DB_driver { // -------------------------------------------------------------------- /** + * Delete statement + * + * Generates a platform-specific delete string from the supplied data + * + * @param string the table name + * @param array the where clause + * @param array the like clause + * @param string the limit clause + * @return string + */ + protected function _delete($table, $where = array(), $like = array(), $limit = FALSE) + { + $conditions = array(); + + empty($where) OR $conditions[] = implode(' ', $where); + empty($like) OR $conditions[] = implode(' ', $like); + + return 'DELETE FROM '.$table + .(count($conditions) > 0 ? ' WHERE '.implode(' AND ', $conditions) : '') + .($limit ? ' LIMIT '.$limit : ''); + } + + // -------------------------------------------------------------------- + + /** * DB Prefix * * Prepends a database prefix if one exists in configuration |