From 59a2fce286b4b3ffd23f34252cf8d250bb3009c8 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Sat, 18 Jun 2016 10:37:22 +0800 Subject: [PATCH] =?UTF-8?q?Model=E7=B1=BBsaveall=E6=96=B9=E6=B3=95?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Model.php | 14 +++++++++++--- library/think/model/Merge.php | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/library/think/Model.php b/library/think/Model.php index e1b25b46..2a0c6010 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -636,10 +636,18 @@ abstract class Model implements \JsonSerializable, \ArrayAccess public function saveAll($dataSet) { $result = 0; - foreach ($dataSet as $data) { - $result = $this->isUpdate(false)->save($data, [], false); + $db = $this->db(); + $db->startTrans(); + try { + foreach ($dataSet as $data) { + $result = $this->isUpdate(false)->save($data, [], false); + } + $db->commit(); + return $result; + } catch (\Exception $e) { + $db->rollback(); + return false; } - return $result; } /** diff --git a/library/think/model/Merge.php b/library/think/model/Merge.php index 69ef91c5..cef925ac 100644 --- a/library/think/model/Merge.php +++ b/library/think/model/Merge.php @@ -248,7 +248,7 @@ class Merge extends Model } $db->commit(); return $result; - } catch (\PDOException $e) { + } catch (\Exception $e) { $db->rollback(); return false; }