From 826374e57ca5dcc003b8e540da03ba67e11704c1 Mon Sep 17 00:00:00 2001 From: Majna Date: Tue, 17 Jan 2012 21:52:22 +0100 Subject: [PATCH 1/3] Remove unnecessary param when calling begin, commit and rollback on datasource. --- lib/Cake/Model/Model.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index cec7af7ab..76796122e 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -2034,7 +2034,7 @@ class Model extends Object implements CakeEventListener { if ($options['atomic']) { $db = $this->getDataSource(); - $transactionBegun = $db->begin($this); + $transactionBegun = $db->begin(); } $return = array(); foreach ($data as $key => $record) { @@ -2055,12 +2055,12 @@ class Model extends Object implements CakeEventListener { } if ($validates) { if ($transactionBegun) { - return $db->commit($this) !== false; + return $db->commit() !== false; } else { return true; } } - $db->rollback($this); + $db->rollback(); return false; } @@ -2138,7 +2138,7 @@ class Model extends Object implements CakeEventListener { } if ($options['atomic']) { $db = $this->getDataSource(); - $transactionBegun = $db->begin($this); + $transactionBegun = $db->begin(); } $associations = $this->getAssociated(); $return = array(); @@ -2200,12 +2200,12 @@ class Model extends Object implements CakeEventListener { } if ($validates) { if ($transactionBegun) { - return $db->commit($this) !== false; + return $db->commit() !== false; } else { return true; } } - $db->rollback($this); + $db->rollback(); return false; } From e947df36a5ae40d5bc17cca613dd998fc28b841c Mon Sep 17 00:00:00 2001 From: Majna Date: Tue, 17 Jan 2012 21:57:40 +0100 Subject: [PATCH 2/3] Remove unnecessary condition in Model::getID(). --- lib/Cake/Model/Model.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index 76796122e..d1d3b3f68 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -3234,10 +3234,6 @@ class Model extends Object implements CakeEventListener { return $this->id; } - if (empty($this->id)) { - return false; - } - if (isset($this->id[$list]) && !empty($this->id[$list])) { return $this->id[$list]; } elseif (isset($this->id[$list])) { From d2dd861417b013c1bfbb3fcd06735b55ef6409df Mon Sep 17 00:00:00 2001 From: Majna Date: Tue, 17 Jan 2012 22:02:30 +0100 Subject: [PATCH 3/3] Update doc block for 'keepExisting' HABTM option. --- lib/Cake/Model/Model.php | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/Cake/Model/Model.php b/lib/Cake/Model/Model.php index d1d3b3f68..dc770fa5c 100644 --- a/lib/Cake/Model/Model.php +++ b/lib/Cake/Model/Model.php @@ -447,6 +447,7 @@ class Model extends Object implements CakeEventListener { * - `unique`: If true (default value) cake will first delete existing relationship * records in the foreign keys table before inserting new ones, when updating a * record. So existing associations need to be passed again when updating. + * To prevent deletion of existing relationship records, set this key to a string 'keepExisting'. * - `conditions`: An SQL fragment used to filter related model records. It's good * practice to use model names in SQL fragments: "Comment.status = 1" is always * better than just "status = 1."