diff --git a/plugin/think-library/src/service/SystemService.php b/plugin/think-library/src/service/SystemService.php index 4f3d39b91..2a34f2a01 100644 --- a/plugin/think-library/src/service/SystemService.php +++ b/plugin/think-library/src/service/SystemService.php @@ -191,8 +191,7 @@ class SystemService extends Service try { $query = Helper::buildQuery($query)->master()->where($map); if (empty($map[$key])) $query->where([$key => $data[$key] ?? null]); - $model = (clone $query)->findOrEmpty(); - return $model->isExists() ? (clone $query)->strict(false)->update($data) : $model->save($data); + return (clone $query)->count() > 1 ? $query->strict(false)->update($data) : $query->findOrEmpty()->save($data); } catch (\Exception|\Throwable $exception) { throw new Exception($exception->getMessage(), $exception->getCode()); }