Model类saveall方法支持事务

This commit is contained in:
thinkphp
2016-06-18 10:37:22 +08:00
parent 933a61467b
commit 59a2fce286
2 changed files with 12 additions and 4 deletions

View File

@@ -636,10 +636,18 @@ abstract class Model implements \JsonSerializable, \ArrayAccess
public function saveAll($dataSet) public function saveAll($dataSet)
{ {
$result = 0; $result = 0;
foreach ($dataSet as $data) { $db = $this->db();
$result = $this->isUpdate(false)->save($data, [], false); $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;
} }
/** /**

View File

@@ -248,7 +248,7 @@ class Merge extends Model
} }
$db->commit(); $db->commit();
return $result; return $result;
} catch (\PDOException $e) { } catch (\Exception $e) {
$db->rollback(); $db->rollback();
return false; return false;
} }